I want to create an EXE setup file containing all the files to install.
However, I also want to be able to include the MSI file in anonther installation project.
Is there any way to create both a single-file EXE bootstrapper and an MSI file?
My application is language-independent. However, I would like the installer to be able to run in several languages.
But if I add another language to the installer, it generates a separate product code for that language. This is inconvenient for me because I use the product code elsewhere.
Package 1 consists of program X and data file f1. Package 2 consists of program X and data file f2. Package 3 consists of program X and data file f3. etc.
As time goes by, additional packages may be added.
The AI How To's explain how to uninstall a package by passing its ProductCode to msiexec .
But what if I don't know which version of the other package is installed? I can easily search for another package based on its UpgradeCode rather than its ProductCode, but is there any way to convert the ...
When my product is being installed: Check if a certain registry key exists. If it doesn't, create it with a numeric value of 1; if it does exist, increment its value.
When my product is being uninstalled: Decrement the registry key value. If it reaches 0 ...
I need to install product X, but before I do so, I need to check if product Y is installed. If so, I must uninstall Y before installing X.
I try to do this by having a custom action in the InstallExecuteSequence. Here I test for the existence of product Y, and if found, I call msiexec /x {Y's ...