What we are doing is first create a transform that alters the ProductCode and the ProductName properties.
After that, the MSI is installed both with and without the transform. To install the transform the following command is used: msiexec /i testInstall.msi TRANSFORMS=transform.mst MSINEWINSTANCE=1
Up until this point, everything is working fine.
However, the problem is with patching. We have created a patch that works on the regular install. When we try to apply it on the second instance, the following command is used: msiexec /p patch.msp /n {<<NEW GUID>>}
This gives the error "The installer cannot install the upgrade patch because the program being upgraded may be missing or the upgrade patch updates a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.".
(Errorcode 1642: ERROR_PATCH_TARGET_NOT_FOUND).
Executing it without the /n {<<NEW GUID>>} gives no problems, but it will ofcourse not update the instance we want.
The commands used come directly from this MSDN link. So it is weird that it is not working for us. Are we doing something wrong? Or is it just not possible?
It should be noted that the patch should not update both instances at once, but the regular installation first, and the second installation when the user is satisfied with the patch.
We are using MSI 3.1 on Windows XP Pro SP2, the installation and the patch are created using InstallShield 11.5 Professional.
Edited by MarkVanDijk, 26 April 2006 - 12:22.