How to make sure that a shortcut (icon) is created for all Windows accounts

In Visual Installer you can choose whether you want to add shortcuts (icons) for the Windows account that is used to install your files, or for all Windows accounts in the computer.

Mostly the Windows account that is used for installation is the same as the Windows account that is used to run the software or access the files. But this is not always the case. If different Windows accounts are used for installation and for daily use, you might end in a situation where there is no shortcut (icon) to access your software or files.

To prevent that this situation occurs, you can open the Program group / menu dialog box (via the List menu) in Visual Installer, and make sure that the Create program group / menu for all users option is selected in the dialog box. If not, you can select this option.

Program group / Menu

Now your shortcuts (icons) will be accessible for all users (all Windows accounts) in the computer. This affects also desktop shortcuts and other types of shortcuts.

How to write-protect a file after installation

Sometimes it is necessary to write-protect a file after it has been installed on a hard drive. If you use Visual Installer to install your files, this is very easy done if you follow these steps:

1. Open your project file or create a new one.
2. In the File list tab, select the file that you want to write-protect.
3. Choose the List – File copy options menu item.
4. Select the Turn on write protection option:

The 'Copy Options' dialog box (1)

5. Click OK.

If you want to be able to update the write-protected file during a future update, you can also select the Replace also write protected file option:

The 'Copy Options' dialog box (2)

Now when you install your files, the file that you selected at step 2 above, will be write-protected after the installation. You can check that this really works as expected by right-clicking on the file in Windows Explorer and thereafter choosing the Properties menu item in the local menu that is shown. In the General tab in the Properties dialog box, the Read-only check box should be checked (as shown in the picture below):

The 'Properties' dialog box

See also
> How to set file copy options in Visual Installer
> The ‘Inst’ column in the ‘File list’ tab in Visual Installer

How to remember installation date

When you install a software it can sometimes be useful to remember the installation date. In Visual Installer you can do it by using the %DATE variable, which retrieves the current date from the system during an installation. The contents of the %DATE variable can then be stored in the Registry or in an INI file.

If you want to store the current date in the Registry during the installation, you can enter a line like this in Visual Installer’s Registry tab:

HKEY_LOCAL_MACHINE\SOFTWARE\MyCompany\MySoftware :: InstallationDate=”%DATE

See also the picture below (the screen dump is from the Registry tab):

The 'Registry' tab in Visual Installer

The %DATE variable will be replaced with the current date when your files are installed in the end user’s computer. The picture below shows how it may look like:

The Windows Registry

See also
> Variables in Visual Installer

Visual Installer: Does SETPERM change folder permissions also for sub folders?

With the SETPERM script command in Visual Installer’s script language you can change permissions for a folder on the user’s hard disk during an installation. But what happen with the sub folders? Are the folder permissions inherited?

Yes. They are normally. But if you really want to be sure that all sub folders have the same permission settings as the main folder, you can set the permissions for them separately. For example like this:


With this method you can also give a sub folder another folder permissions than the main folders. For example like:


See also
> How to give a standard user write permission to a folder in Program Files
> Visual Installer’s Scripting Language

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:


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.


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:


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:


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:


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:


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!

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

Two useful tips about Visual Installer and .NET Framework

Do you use SamLogic Visual Installer to create installation packages for your .NET applications and .NET components? If yes, then you should check the following two tips that we have published on the tips section for Visual Installer:

Tip 1
Explains how to handle situations when the required version of .NET Framework is not installed in the end-users computer:
> How to prevent an installation if wrong .NET version

Tip 2
Explains how to register a .NET assembly, and when it is needed:
> How to register a .NET assembly

More tips
More tips for Visual Installer are available here:
> Tips & tricks for SamLogic Visual Installer

CD-Menu Creator: How to protect a document with a password

If you have documents (for example PDF or Word documents) that you want to distribute to other people via a CD, DVD or USB flash drive, CD-Menu Creator is the right tool for you. You can create a menu interface very fast and you can have clickable buttons that the end-user click on to open your documents.

Password protected documentIf you have sensitive documents that you only want some specific persons open and read, you can password protect the access to the documents. You can also have the documents encrypted on the CD, DVD or USB flash drive, so nobody can read them directly on the disc or drive. And if any person copies the documents from the disc / drive to another place, they are unreadable. The documents can only be read via the menu interface and by entering the correct password. The menu interface will ask for a password when the end-user clicks on the button that opens the document.

Tip: How to password protect a document
The tip below explains how to password protect a document that is opened via a button in a menu interface that is created with CD-Menu Creator. The document will also be stored encrypted on the disc or drive, and can only be read via the menu interface.

1. Start CD-Menu Creator.

2. Open the Buttons (text) tab in the editor.

3. Click the Add Button button.

4. Enter a button text at Text (button).

5. Select the Show Document command in the Command combobox.

6. Click the “…” button and choose a document (for example a PDF document).

7. Click the Options button in the dialog box.

8. Open the Password tab.

9. Select the Password protect this button option.

10. Enter a password in the Password input box.

11. Select the Encrypt the file linked to the button option.

The 'Password' tab in the 'Button Options' dialog box

12. Click OK. And thereafter OK again.

13. Now create your menu!

After you have created your menu you can click on the button in the menu interface. A dialog box that asks for a password is now shown. Now enter the password that you entered at step 10 above to open the document. If you enter another text, the document can not be opened.

How to increase the security even more
The password and encryption function protects the document, so nobody can open it without the password. But if you also want to assure that nobody can save or print the document via the document viewer that is used to show the document, you must disable these functions in the document viewer or choose a document viewer that does not have this functionality. You can read the documentation to your document viewer/editor to find more information about this.

If you distribute a document viewer with your CD, DVD or USB flash drive, you can choose the Run Program command at step 5 above and enter the path to the document viewer in the Filename text box and a path to the document file in the Parameters input box. If needed, you can also enter some switches to the document viewer program in this input box.

Some document viewers have built-in encryption/decryption
Instead of using the encryption/decryption function in CD-Menu Creator, you can also use a document viewer that supports encryption and decryption. To have maximum security, this may be a better choice because they are specialized tools, and as a such, the security may be better.

See also
> CD-Menu Creator: How to encrypt a document without a password