Visual Installer now supports EV code signing

Nowadays it is very important to code sign installation packages. This increases the security and gives less warning messages in Windows and in web browsers.

Since many years back our setup tool Visual Installer has supported standard digital certificates, but in the last update of Visual Installer we have also added support for EV digital certificates. EV digital certificates increases the security even more and the risk for warning messages in Windows and in web browsers (for example in Chrome, Edge and Internet Explorer) is reduced to almost zero. EV digital certificates are more trusted by Windows and web browsers than standard digital certificates.

Updated ‘Setup Options’ dialog box in Visual Installer
The Code Signing tab in the Setup Options dialog box in Visual Installer has been updated to also support EV code signing. An EV digital certificate is always distributed on a USB token and we have added a new option to the Code Signing tab that handles digital certificates on USB tokens. The name of the new option is My digital certificate is located on a USB token and if you select this option, Visual Installer will get the digital certificate from the USB token when a setup package is created.

You can see the new My digital certificate is located on a USB token option in the dialog box picture below:

Visual Installer - Setup Options

Alla binary files that are distributed are EV code signed
As an addition to the above, all SamLogic’s binary files that are distributed to end-users has been code signed with an EV digital certificate. This reduced the risk that Windows reacts (gives a warning message) after a setup package has been unpacked and all files extracted.

See also
> Article: Extended Validation (EV) Code Signing in Windows 8 / Windows 10
> Blog: The file information window now displays info about digital certificates

Visual Installer: The XRUN command now also supports OS and bitness

The XRUN script command in Visual Installer has been updated and extended to handle two more parameters: %OS and %Bitness. These two parameters are optional and allows you to specify in which Windows version and with which Windows bitness (32 bit/64 bit) the program file that XRUN starts can be run in. Below are some more information about the two parameters:

%OS
The %OS parameter is an optional parameter that specifies in which operating system (Windows version) the program can be run in. You can specify if the program can be run in Windows 7, Windows 8, Windows 10, or in any Windows. If you omit this parameter the program will be run in any Windows version.

%Bitness
The %Bitness parameter is an optional parameter that specifies which bitness (32 bit or 64 bit) the operating system (Windows version) must have to let the program start. The program will only be run if the Windows bitness match the bitness that you specify via this parameter. If you omit this parameter the program will be run in a Windows of any bitness (both 32 bit and 64 bit Windows).

Syntax
The definition of XRUN, with all of its parameters, is now:

XRUN %Filename, %Flag, %Param, %OS, %Bitness

The Filename parameter specifies the filename of the executable file. The Flag parameter informs Visual Installer how to start the program. The Param parameters specifies command line parameters to the executable file (if used). And the OS and Bitness parameters are described above

Examples of usage
The example below starts MyWin7App.exe if the operating system is Windows 7. If the operating system is anything else, for example Windows 10, the program is never run.

XRUN  %DESTDIR\MyWin7App.exe, 1, “”, 7

The example below starts MyWin7App.exe if the operating system is a 64 bit Windows 7. If the operating system or bitness is anything else the program is never run.

XRUN  %DESTDIR\MyWin7App.exe, 1, “”, 7, 64

More information about the XRUN command and the %OS and %Bitness parameters is available in Visual Installer´s User Guide.

See also
> Visual Installer’s Scripting Language

The ‘User Options’ setup dialog now also supports radio buttons

The User Options setup dialog box in Visual Installer has been updated to also support radio buttons. So you can now choose if you want to use check boxes or radio buttons in the installation dialog box. When you use radio buttons, only one option at a time can be selected. The options are mutually exclusive.

Below is a basic example of how the updated User Options dialog box may look like when using radio buttons:

The 'User Options' setup dialog box

As before, you can set the text for the dialog box title, the information area and the options freely. Switching between check boxes and radio buttons is done via a new setting in the editor:

The 'Settings' dialog box

More information about the ‘User Options’ setup dialog
In this blog post from 2016 you can read more about the User Options setup dialog. There is also a long tip available in this tip page.

You can now change font for Visual Installer’s and CD-Menu Creator’s editor

Using one and the same font in a software with all versions of Windows, graphic cards, displays and DPI settings, and expecting the result always to be perfect, is nearly an impossible mission. And then you must also take into account that people also prefer different fonts.

To handle this situation in the best way in our software we have updated Visual Installer and CD-Menu Creator to allow you to choose your own font for the editor. We have included some fonts that you can choose among, and we will increase the list with fonts with time.

Too large font size?
The new font handling in Visual Installer and CD-Menu Creator will also solve the problem with “too large font size” that sometimes happens when a system font with a requested size is not available in the system and the substitute font (chosen by Windows) is somewhat larger and the text will therefore not fit in the space that is reserved for the text. This is a rare condition, but will happen in special circumstances *.

In Visual Installer 2018 and CD-Menu Creator 2018 this problem does not exists anymore because both editors will automatically search for a font that has the same size as the font that has a problem. So the editors will automatically switch font if this problem occur. But you can, of course, choose another font manually if you prefer to do this.

How to change font for the editor manually
In Visual Installer 2018 you can change font by choosing the Editor options menu item in the Special menu. In CD-Menu Creator 2018 you can change font by choosing the Options menu item in the File menu. In both cases there will be a new Font tab available in the dialog box that is shown. Via this new tab you can change the font for the editor.

*) This problem may occur if the connected display is over a certain resolution when Windows is first installed in the computer. Windows will then set the DPI to 120 instead of the usual 96, and the “MS Sans Serif” font that Visual Installer’s and CD-Menu Creator’s editor uses as default may be affected by this. The font may not be available in smaller sizes. If this problem happens, it does not help that you afterwards change the DPI from 120 to 96. The font size is still not available. More information about this problem is available in this blog post on Microsoft’s blog.

Visual Installer 2018 has now been released

We have now released a new version of our setup tool SamLogic Visual Installer. The name of the new version is SamLogic Visual Installer 2018 and the version number is 11.5. Some new features in the new version are:

• Supports the latest version of Windows 10.
• Supports Microsoft .NET Framework 4.7 and 4.7.1.
• Supports AutoCAD 2018.
• A new function makes it easier to add all files in a folder to Visual Installer’s file list.
• The ‘User Options’ setup dialog box has been updated to also support radio buttons.
• The code signing function now supports USB tokens and EV digital certificates.
• All redistributable binary files are now code signed with an EV digital certificate.
• New script commands has been added to the script language.
• The XRUN script command has been updated to handle more options.
• You can now change the font for Visual Installer’s editor.

A detailed list of new features in Visual Installer 2018 is available on this web page.

Using the ‘Add tree’ function in Visual Installer

If you already have created a folder structure on your hard drive, with the files that you want to install, and want to create a similar folder structure on the destination drive, there is a very useful function in Visual Installer that you can use. The name of the function is Add tree and you can access it via the List menu in Visual Installer, by choosing the List – Add – Add tree menu item (see the picture below):

The 'Add tree' menu option

After you have chosen this menu item, the following dialog box is shown:

The 'Select folder' dialog box (1)

Via this dialog box you can browse to the folder, with sub folders and files, that you want to add to Visual Installer’s file list. For example like:

The 'Select folder' dialog box (2)

You can see the current folder path to the right of the Folder field name in the dialog box.

After you have selected your folder, you can click on the OK button to continue. The following dialog box will now be shown:

Collect files from folders and sub folders

In the option frame (above the three buttons) you can choose how the folder structure will be built in Visual Installer’s file list. You can choose between replacing the root level of the folder tree with the %DESTDIR variable, or add the folder tree to the %DESTDIR variable.

When you have decided how you want to build the folder tree, you can press the Add files button. Now Visual Installer’s file list will be filled with the files and folders. And you can see how many files that were collected in the No. files field name in the dialog box:

Ready!

To return to the file list, just press Close in the dialog box.

The collected files

How to obtain only folders of a folder tree
Instead of collecting the files in a folder tree you can also extract only the folders (directories) of the tree and skip all files. In this blog post we explain how to do this.

How to add a folder tree to Visual Installer’s file list

With the Add tree function in Visual Installer you can add a folder structure including files to Visual Installer’s file list in an easy way. It is also possible to add a folder structure without files to Visual Installer’s file list with the same Add tree function. We will show below how to do this.

1. Open the List menu and choose the Add – Add tree menu item.

The 'Add tree' menu option

2. Select a folder in the Select folder dialog box and click OK.

The 'Select folder' dialog box

3. Click on the More options button in the Collect files from folders and sub folders dialog box that now appears.

Collect files from folders and sub folders

4. Select the Only add folders option in the More options dialog box that now is shown.

The 'More options' dialog box

5. Click OK to close the dialog box. The text in the previous opened dialog box will be updated to:

Collect folders from folders and sub folders

6. Now click on the Add folders button to start collecting folder. All folders and sub folders in the selected folder (in step 2) will be added to Visual Installer’s file list. The number of collected folders will be displayed after the No. files field name in the dialog box.

Ready!

7. Click the Close button in the dialog box to return to the file list.

The collected folders

How to check if Microsoft Office is installed during an installation

We have added new conditions to Visual Installer’s script language that can be used to:

• check whether Microsoft Office is installed in the computer or not
• check if the installed Microsoft Office is 32 bit or 64 bit

This can be useful if you for example:

• install files that require that Microsoft Office is installed in the computer
• install files that require a specific bitness of Microsoft Office (for example 32 bit Office)
• want to install different files depending on the bitness of Microsoft Office

How to check if Office is installed
If you want to check if Microsoft Office is installed in the end-user’s computer you can use the new IF OFFICEINSTALLED condition that we have added to Visual Installer’s script language. You can also check if Microsoft Office is not installed in the computer in an easy way by using the IF NOT OFFICEINSTALLED condition.

Below you can see how these two conditions can be used:

The 'IF OFFICEINSTALLED' condition

How to check Office bitness
There are 32 bit and a 64 bit versions of Microsoft Office available, and if you distribute executable files or components that co-operate with Microsoft Office (for example with Microsoft Excel or Microsoft Access) the bitness of the executable files or components that you install must often be the same as the bitness of the installed Office.

To handle this in a smooth way, you can use a new condition in Visual Installer’s scripting language. The name of the new condition is IF OFFICEBIT=?? where ?? can be 32 or 64. For example IF OFFICEBIT=32, which checks if a 32 bit version of Office is installed.

Below you can see how this new condition can be used:

The 'IF OFFICEBIT=' condition

Another example
Below is another example, where the conditions above are combined. First the script lines checks if any version of Office is installed in the computer, and thereafter the script lines starts an installation with the same bitness (32 bit or 64 bit) as the installed Office:

All Office check conditions altogether

If no Office application is installed in the system, an information message box is shown (line 4) and the installation stops (line 5).

See also
> Visual Installer’s Scripting Language
> Check if the operating system is 32 bit or 64 bit

Using the log function in Visual Installer’s script language

When using the script language in Visual Installer, it may sometimes be useful to see in detail what happen when the script lines are executed. To get detailed information about the execution of script commands, you can activate a log function in Visual Installer’s script language. When the log is activated, detailed information about every script line that is executed are stored in a log file. Here you can see the contents of the parameters that are passed to the script commands and see the return value (for example error codes) of every command. If you use variables in the script (for example %DESTDIR) you can see their actual values.

How to activate the log function
To activate the log function, you can use the USELOG script command. To enable the log, enter the following in the beginning of your script code:

USELOG 1

As default, the log file is stored in the main destination folder of the installation (the folder path that is stored in the %DESTDIR variable) but you can also specify your own folder for the log file via parameter 2. For example:

USELOG 1, C:\MyLogFolder

To turn off the log, somewhere in the script, you can enter the following:

USELOG 0

If you want to log all lines in the script, you don’t need to turn off the log at the end. It will be turned off automatically after the last executed script line.

In the picture below, you can see an example of how the USELOG command can be used:

USELOG

And below is an example of how the log file may look like:

Log (OK)

If a script command succeeds, it returns OK. Otherwise it returns ERROR and an error code. Below is an example of how the log file may look like if an error occurs:

Log (Error)

Most error codes can be found on this web page at Microsoft’s web site:

> Windows Dev Center: System Error Codes (0-499)

Some common error codes are:

2 : File not found!
3 : Path not found!
5 : Access denied!
183 : File already exists!

Filenames
The filename of the log file is Vinstall-Script–Before.log if the script lines are executed in the Before installation tab in the Execute script commands window in Visual Installer, and the filename is Vinstall-Script–After.log if the script lines are executed in the After installation tab in the same window. The filenames can not be changed, but you can change the folder where the log files are stored (as described above).

See also
> Visual Installer’s Scripting Language

Visual Installer: How to block a license key

In Visual Installer 2017 it is possible to block specific license keys from be accepted during an installation. This is useful when using prime number based license keys because they are created and verified mathematically. So if the license key is evaluated correctly, it will be accepted.

In Visual Installer 2017 (version 11.0.5 and later) you can create a block list with prime number based license keys that should not be accepted, although they are mathematically correct. This is done via the new Block List dialog box in Visual Installer 2017:

The 'Block List' dialog box in Visual Installer

In this dialog box you can enter a list with license keys that should not be accepted by Visual Installer during an installation. The block list is stored per installation project and is saved with the .VIP project file. So it is not a global block list. It only adds the block list to the specific installation project.

Where to find the ‘Block List’ dialog box?
You can open the Block List dialog box by following these steps:

1. Open the Dialog boxes tab in Visual Installer’s editor.
2. Click on the “” button to the right of the License key option.
3. Click on the More options button.
4. Click on the Block List button.

In the Block List dialog box that is now opened you can enter a list with license keys to block. One license key per row. You can also specify an information message that is shown to the user if he/she enters a blocked license key. If no text is specified, a default text is used.

Note
Both prime number based license keys and static license keys can be blocked with this method, although this function is most useful when used with prime number based license keys.

See also
> Visual Installer: Prime number based license keys
> Visual Installer can show visually when a license key is correct
> The setup wizard in Visual Installer