This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Major Upgrade has missing files
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 20, 2008
08:54 AM
Major Upgrade has missing files
InstallScript MSI project
Perhaps this is common knowledge, but I was unable to find documentation on this behavior.
I had setup the project to not allow Patching or Minor Upgrades, and only allow Major Upgrades, with complete uninstall then reinstall. It was tested and worked flawlessly upgrading from v1 to v2. Additional work was done and a preliminary v3 was built. However, the upgrade did not work as expected. Only some of the libraries and exes were installed, while others were not.
The problem was that v2 was using files that were versioned later than some of the preliminary v3 files (i.e. v2 dll was 1.0.0.700, and the same v3 dll was 1.0.0.0). The preliminary v3 files were being pulled from a local build for testing, instead of using the formal build machine, and that is why the version was defaulted to 1.0.0.0. Using the formal build machine (v3 dll 1.0.0.750) fixed the Major Upgrade.
Question: If I am doing a complete uninstall before reinstalling, why is InstallShield checking the version of the file from v2 against v3? I would think that since v2 was uninstalled, v3 would act like a fresh install.
Perhaps this is common knowledge, but I was unable to find documentation on this behavior.
I had setup the project to not allow Patching or Minor Upgrades, and only allow Major Upgrades, with complete uninstall then reinstall. It was tested and worked flawlessly upgrading from v1 to v2. Additional work was done and a preliminary v3 was built. However, the upgrade did not work as expected. Only some of the libraries and exes were installed, while others were not.
The problem was that v2 was using files that were versioned later than some of the preliminary v3 files (i.e. v2 dll was 1.0.0.700, and the same v3 dll was 1.0.0.0). The preliminary v3 files were being pulled from a local build for testing, instead of using the formal build machine, and that is why the version was defaulted to 1.0.0.0. Using the formal build machine (v3 dll 1.0.0.750) fixed the Major Upgrade.
Question: If I am doing a complete uninstall before reinstalling, why is InstallShield checking the version of the file from v2 against v3? I would think that since v2 was uninstalled, v3 would act like a fresh install.
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 20, 2008
09:23 AM
This is only a guess, but do your DLLs need to be registered? If they do, then the DLLs in question might have been registered multiple times which means the counter would be greater than 1. If that is the case, the counter won't go down to 0, and it won't be removed from the system. Instead, it would remain on the system then standard file replacement procedures would come into effect.
Again, this is only a guess, but the theory is sound.
Again, this is only a guess, but the theory is sound.