G
Guest
Summary:
I’m applying a patch (myapp.msp) to an application. The patch works fine on
XP.
On Vista, the patch works correctly if I right click on the msp file and
select “apply.â€
However, when invoked programmatically, with elevated privileges, the UI
reports success but no files are updated. To make matters (much) worse, the
application version number reported in "control panel"/"installed programs"
is updated to the “new†version.
Detail:
Both the patch and the application were created with InstalledShiled
Developer 8.0.
I’m applying the patch in 3 different ways:
1. Right click patch file and select “Applyâ€
2. With a batch file, invoked “as administratorâ€, containing “msiexec –p
mypatch.msiâ€
3. From an application, with manifest that requires elevated privileges
From an end user point of view, all three methods result in the same
sequence. Vista asks for approval for the elevation, then we walk through
the Patch Wizard, and after some crunching it reports success.
However, only #1 updates the application correctly.
#2 and #3 do not update any of the files, but they do update the application
version number as appears in Control Panel / Installed Programs.
Examining the log files for method #1 vs. method #2 shows only one
significant difference.
The “pass†case shows MsiNetAssemblySupport= 2.0.50727.88.
The “Fail†case shows MsiNetAssemblySupport= 2.0.50727.00.
Please advise how I can apply a patch programmatically.
I’m applying a patch (myapp.msp) to an application. The patch works fine on
XP.
On Vista, the patch works correctly if I right click on the msp file and
select “apply.â€
However, when invoked programmatically, with elevated privileges, the UI
reports success but no files are updated. To make matters (much) worse, the
application version number reported in "control panel"/"installed programs"
is updated to the “new†version.
Detail:
Both the patch and the application were created with InstalledShiled
Developer 8.0.
I’m applying the patch in 3 different ways:
1. Right click patch file and select “Applyâ€
2. With a batch file, invoked “as administratorâ€, containing “msiexec –p
mypatch.msiâ€
3. From an application, with manifest that requires elevated privileges
From an end user point of view, all three methods result in the same
sequence. Vista asks for approval for the elevation, then we walk through
the Patch Wizard, and after some crunching it reports success.
However, only #1 updates the application correctly.
#2 and #3 do not update any of the files, but they do update the application
version number as appears in Control Panel / Installed Programs.
Examining the log files for method #1 vs. method #2 shows only one
significant difference.
The “pass†case shows MsiNetAssemblySupport= 2.0.50727.88.
The “Fail†case shows MsiNetAssemblySupport= 2.0.50727.00.
Please advise how I can apply a patch programmatically.