PDA

View Full Version : Unable to change setup paths for original msi using QuickPatch



dvheusden
01-20-2003, 05:28 AM
As we have an automated build mechanism, which should be able to produce and reproduce as many builds as we want, having a stable source is very important.

When you build a QuickPatch, it requires the original msi file and the path to this msi is default:
<ISProjectDataFolder>\BaseImage\...

I am unable to change this value. Why? This means that we would always need to use that specific folder for building the patch, which would not be a problem, except that we will be patching the patch itself cause we always deliver cumulative patches. I cannot think of any reason why we shouldn't be able to change the paths to previous msi packages.

The following scenario should be possible:
Folder build is the source for the ise project files:
build

The project files in this build folder are:
release
patch1
patch2

Folder with release msi package in this folder:
build\release

Folder with the first patch that uses the release msi file:
build\patch1

Folder with the second patch that uses the release and first patch msi files:
build\patch2

Currently the sources for both release and patch1 have to be in the patch2 folder, and obviously we do not want this because this would mean that we would have to add duplicate files to the version control system.

Chandima
01-20-2003, 06:21 PM
The reason we have that field not editable is because if by any chance you create a patch and then change the msi you are pointing at and rebuild, unless EVERYTHING is synced up properly, your patch will fail. Windows Installer patching is VERY finicky. A component GUID changing, a Component being deletes, the feature tree changing and a dozen other reasons can simply make your patch not work. We call it QuickPatch instead of a normal Patch because we force you to stick to these conventions by limiting the things you can do.

However, if you really want to change this property you can do so using ORCA.
1. Open the Patch .ise file in ORCA
2. Go to ISQuickPatchProperty Table
3. Set the value of "OriginalSetupPath" to what you want
4. Save and open in Express

It should now show the path you want. As long as this msi is the same one you have been creating (successfull) patches with, you shouldn't have any problems. Let me know if this at least temporarily solves your problem.