|
#1
|
|||
|
|||
|
Windows Installer Repair breaks patched installation
Hi
Scenario: 1. Install the following files with Windows Installer: prog.exe - Version 1.0 prog.chm - Help File 2. Run a patch to update to prog.exe to version 1.1 and patch the help file to the latest release. 3. The user then either deletes a required registry key OR clicks the 'Repair' button in 'Add/Remove programs'. 4. Windows Installer repair process replaces 'prog.chm' with the original BUT leaves prog.exe as version 1.1 because it won't replace a more recent version. Problem: The installation is now broken. The help file is for an older version of the installed exe! This is a problem with all files in the 'program files' directory that don't have version numbers. I've got a big problem because some users are trying to delete a required service. This is causing Windows Installer to 'repair' our programs and causing some critical files (that aren't .exe files) to get 'out-of-sync'. Is there any way to stop Windows Installer breaking a patched installation? Many thanks Nick |
|
#2
|
||||
|
||||
|
You could try specifying a Registry key as the key file for the component that the .chm file is in.
You could try giving that file's component a condition to prevent the maintenance installation -- for example, based on the value of some other registry key that indicates the patched version. Setting "Never overwrite" for that component might work too, depending on your long term update needs. Some MSI actions were added in Visual Patch 3.0.2.0, so there might be a way to update that component when your patch is run (for example, it might be possible to use MSI.ApplyPatch with a small MSI file, or perhaps MSI.ReinstallFeature, to update the component information).
__________________
--[[ Indigo Rose Software Developer ]] |
|
#3
|
|||
|
|||
|
Hi lorne
Thanks for the quick reply: 'You could try specifying a Registry key as the key file for the component that the .chm file is in.' Not sure what you mean. It's windows installer that's messing things up. The patch works, so the key file for the patch is irrelevant. 'You could try giving that file's component a condition to prevent the maintenance installation -- for example, based on the value of some other registry key that indicates the patched version.' OK. So create a registry with the patch that indicates the patched version number. Then condition the installer to only install the file(s) if the patched version doesn't exist or is less than the installed version. Is that what you mean? 'Setting "Never overwrite" for that component might work too, depending on your long term update needs.. 'Never overwrite'. I don't have any such option in either the patch or the installer. I'm using a Visual Studio Deployment project. Anyway that seems a bit dangerous. 'Some MSI actions were added in Visual Patch 3.0.2.0, so there might be a way to update that component when your patch is run (for example, it might be possible to use MSI.ApplyPatch with a small MSI file, or perhaps MSI.ReinstallFeature, to update the component information).' I'm using Visual Patch so I don't have to use the terrible MSI patch process! Anyway, I think ReinstallFeature is causing the problem in the first place. Have I understood your answers correctly? Many thanks Nick |
|
#4
|
|||||
|
|||||
|
Quote:
![]() I'm not sure if it would work in your case, but setting the component's key path to a registry key might get around the version check. Quote:
Quote:
Quote:
We've tossed around the idea of making an MSI patching tool based on our DeltaMAX technology, but the technical hurdles are pretty formidable. MSI is a really difficult technology to work with all around. Quote:
__________________
--[[ Indigo Rose Software Developer ]] |
![]() |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Press Release: Setup Factory for Windows Installer | Ted Sullivan | MSI Factory 2.0 Discussion | 0 | 06-04-2007 03:21 PM |
| Press Release: Setup Factory for Windows Installer | Ted Sullivan | Announcements & News | 0 | 06-04-2007 03:21 PM |
| INFO: JET and MDAC (Complete) Runtime Notes | Desmond | Setup Factory 6.0 Knowledge Base | 0 | 11-28-2003 09:35 AM |
| HOWTO: Add DirectX 8.1 Support to your Setup Factory 6.0 Installation | Support | Setup Factory 6.0 Knowledge Base | 0 | 10-30-2002 02:55 PM |
| INFO: Setup Factory and the Windows Installer | Support | Setup Factory 6.0 Knowledge Base | 0 | 10-22-2002 11:38 AM |
All times are GMT -6. The time now is 04:22 AM.










Linear Mode

