Packages Testing and Troubleshooting
Once an MSI package is generated, it needs to be thoroughly tested before being deployed remotely across a network. To test an MSI, it's recommended that it be installed manually on a virtual machine with a fresh OS installation. Following the deployment, you need to run the installed application to make sure it works as expected. Sometimes, the changes applied by an MSI aren't visible for Windows after the MSI deployment. This may cause improper operation of the installed application. It's recommended that the PC be rebooted to let Windows apply the changes if you see that the installed application works incorrectly.
If you notice a problem with the generated MSI, you can identify the reason for the problem and repeat the repackaging process. Many problems can be resolved simply by using a clean environment for repackaging and following the best practices explained in the Overview of the Repackaging Best Practices chapter. Below, you can find a list of the most common MSI problems and recommendations on how to resolve them.
A file is locked during MSI install
This problem usually happens when you don't use a clean environment for repackaging, and an unrelated process, such as an antivirus running in the background during the repackaging, generated a file change that is captured and included into the MSI. When you deploy the MSI, it tries to modify the file, but the file is in use by the running antivirus, therefore the MSI deployment cannot be finished. To resolve this problem, you need to repeat the repackaging using a clean environment as suggested in the repackaging best practices.
A file is locked during MSI uninstall
This problem is similar to the one described above. An MSI includes a change initiated by an unrelated application, which may be an antivirus, for example. When you deployed the MSI, the file change is accepted, but when you try to uninstall the MSI, the file is locked by the antivirus. To resolve this problem and uninstall the MSI, you need to close the program that locks the file and then uninstall the MSI. In any case, the generated MSI is incorrect and you need to create a new MSI using a clean environment for repackaging.
An MSI was installed successfully, but the installation does not appear in Windows Programs and Features
By default, EMCO MSI Package Builder creates MSI packages that are deployed per user, so if you didn't use any special options during the MSI deployment, the installation is visible for the current user only, and if you switch to another user, you won't be able find it in the Windows Start menu or in Programs and Features. To resolve this problem, you may provide special deployment options for the msiexec utility to be deployed to all user accounts during the MSI deployment. Alternatively, you may change the MSI project settings to use the All Users option instead of the Current User option and generate a new MSI package.
An MSI upgrade doesn't remove the old version of the same application
Windows Installer uninstalls the previous version of MSI automatically if a new version is being installed. Note that this only works for MSI packages, so you cannot rely on this feature if the previous version of the application was installed by an EXE installer. Besides, to use this feature, you need to properly configure the MSI version, Upgrade GUID and the installation scope as explained in the How should I configure the repackaged installations to support an upgrade? chapter.
An MSI doesn't replace some files
When you deploy an MSI package, Windows Installer checks the file properties for every file to be replaced. For files that contain version information in their properties, like DLL or EXE files, Windows Installer compares the versions of the new file and the existing one and replaces the existing file only if the new file version is greater than that of the existing one. This behavior is configured in the Install Options section of the MSI properties, so you can change it to replace all files unconditionally.
If you face a problem, first make sure that you follow all the repackaging best practices and repeat the repackaging in a clean environment. If you still have questions after that, you can contact support and provide information on the problem and the installation you try to repackage.