Why doesn't the repackaged installer work correctly?

Please note that the import features in Advanced Installer (the Repackager, the Import MSI feature etc.) are intended to be used to get a starting point for your installation package, not to completely reproduce other installation packages. The Repackager tool captures only the effects of the installation (the changes made on the system). If the original installation package executes custom code (programs, scripts etc.) then only the effect will be captured (registry entries, files and folders etc.). Also, after repackaging an installation some adjustments may be necessary in order to obtain a working installation package.

Why does the "Unknown Publisher" message appear during the install of a digitally signed package?

This problem occurs only if the SignTool.exe from Windows SDK v.7.0 or later is used to sign the package and the "File From Disk" option is enabled in Advanced Installer's Digital Signature Page. The package will appear as signed, but upon a closer inspection the certificate used in the signing process will be reported as invalid. Because of this, the "Unknown Publisher" message will be displayed on Windows Vista or above, during installation.

As a solution, Microsoft recommends importing the certificate in the system store and automatically use it from here everytime a package is being digitally signed, instead of manually selecting the certificate file. In this case, the option "Automatically get certificate from system store" should be used in Advanced Installer's Digital Signature Page. Another solution, not recommended by Microsoft, is to use the SignTool.exe from an older version of Windows SDK along with the "File From Disk" option enabled in Advanced Installer Digital Signature Page.

Why does the "Unknown Publisher" message appear during the uninstall of a digitally signed package?

When a package is installed, Windows caches the MSI by placing it in the Windows\installer folder. During this process, all the unnecessary information (including the digital signature) is removed in order to decrease the size of the file. When an uninstall is launched from "Add or Remove programs" or through the Uninstall shortcut, Windows Installer uses the cached MSI. Since this file doesn't have a digital signature, the "Unknown Publisher" message will be showed. A solution for this is to make sure the user can uninstall the package only by launching the original file.

Why are my files and registry entries not being removed during uninstall?

During an uninstall, Windows Installer removes only the data registered into the MSI file. All other data created by custom actions, by the installed application or by the user is not registered in the MSI, therefore it will not be removed. If you want to also delete this data, you need to use the "Uninstall Cleanup" wizard available from the context menu when a folder is selected in the Files and Folders Page.

Why is the disk space consumed by the installation so much larger than the actual sizes of the files I am installing?

When launching an installation, Windows Installer calculates the space required by adding the size of the resources which will be installed with the size needed for rollback. Also, some space is required for the installation script and for the cached package. Additionally, the installation runs from a temporary copy of the package, therefore more space is required. Basically, an installation requires much more space than just the size of the files it creates.

Why does my package prompt for a reboot?

An installation will require a reboot if it tries to overwrite a file which is in use. After a reboot is performed, the file will no longer be used and Windows will be able to overwrite it. Windows Installer may also require a reboot if this is explicitly requested by the package through the REBOOT property.

Why is a Windows Installer progress bar showed when I launch my installed application?

One of the features offered by Windows Installer is self-healing for the installed application. Therefore, if Windows Installer detects there is an important resource missing, it will automatically repair the installation and show a progress bar.

The progress bar may also be showed by an on-demand installation. This is usually caused by an Advertised shortcut.

How do I create a log of the installation process?

A log of the installation can be created by using the /L*V parameters when launching the MSI through the Msiexec command line. For more details please see the Create a log How-To or the Write a specific Event in the log How-To.

How do I remove a broken installation?

Sometimes a package cannot be uninstalled (for example, it contains a custom action which cannot run). This broken package can be removed by following these steps:

  • open the package's Advanced Installer project
  • fix the problem
  • build the project
  • use this command to recache the MSI:
msiexec /fv <path_to_new_msi>

NoteNote that in the above command you need to specify the modified MSI's actual path.

After the modified MSI replaces the cached one, you can run the uninstall again.

Another way of repairing a broken installation is by using the Windows Installer Cleanup utility or the "MsiZap.exe" tool from the Windows SDK. Note that these tools remove only the Windows Installer information for the package, the installed resources must be manually removed.

How do I add an EULA to my package?

The EULA can be very easily displayed using our predefined dialog "LicenseAgreementDlg". All you have to do is add it to the installation dialogs from the Dialogs page. Here are the steps to do that:

  • go to Dialog Editor page and right click in the "First Time Install" tree
  • from the context menu select option "Add Dialog..."
  • select "LicenseAgreementDlg" from the available dialogs list
  • now that you added the dialog, you just have to set the according .RTF file that will be displayed during installation

ImportantPlease note that you should use a valid .RTF file, not just a simple file to which you have changed the extension to .RTF.

After following the above steps you should have a new dialog displayed in the installation sequence containing the text specified by your file.

Why can't a mixed 32/64-bit package be launched with Msiexec?

The Windows Installer engine does not support mixed 32/64-bit packages. However, we implemented this feature in Advanced Installer by using the EXE bootstrapper. Therefore, a mixed 32/64-bit package will work as expected only when it is used through the EXE file.

Why does Windows Installer ask for the original package during a Repair?

When a package is installed, Windows caches the MSI by placing it in the Windows\installer folder. During this process, all the unnecessary information is removed in order to decrease the size of the file. When a Repair is called, some data required may not be found in the cached MSI. In this case, Windows Installer will prompt the user for the original package in order to retrieve the data it needs.

Why are the paths changed after moving the project on another machine?

By default, the paths used in an Advanced Installer project are relative to the project file. Therefore, when you move the project file you also need to make sure you move the files used in the project in order to maintain the relative paths.

The type of the paths (relative or absolute) can be changed in the Project Settings tab of the "Edit Project Settings" dialog. You can get to this dialog by using the "Project" -> "Options" menu in Advanced Installer. Note that you can also use path variables instead of relative paths.

Is it possible to store the product version in the registry at install?

Advanced Installer allows you to create or modify registry entries through the Registry page. When you create a new registry value, you can specify [ProductVersion] in the Data section of the Edit Registry Entry dialog. This way, the registry entry will contain the version of the package.

Why do I get an error when submitting my .MSI to Intel AppUp?

  • "Shortcut Target field - The Target entry of the Shortcut table must be a valid feature name/foreign key (Identifier data type) in the Feature table."
    The solution for this error is to enable the "Advertised shortcut" option from the shortcut's properties dialog. You can access this dialog from the shortcut's context menu or by double-clicking it in the Files and Folders page.

How do I always install a prerequisite?

Simply select Always install prerequisite option in Prerequisite Install Conditions Tab tab.

Why does the security prompt show a random name for my package although I specified one in Media page?

The information displayed on the security dialog is collected from the digital signature of the package. In this particular case if you set the “Description” field from the Digital Signature Page it'll display the correct package name.