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: Minor upgrade doesn't replace 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
‎Jan 09, 2013
07:58 AM
Minor upgrade doesn't replace files?
Hi,
I have another problem. This is the scenario:
- My ProductVersion is 1.0.0.0
- It installs several files each with version 1.0.0.0
The QA guy of the company (or the client) installs version 1.0.0.0 and detects a bug on the software. We fix the assemblies but they don't get a new version, that is, they continue with version 1.0.0.0.
I build a new setup (with the save ProductVersion). When installing it detects a minor upgrade and asks if the user wants to upgrade. What happens is that those assemblies don't get updated.
I've set the "Always overwrite" flag in all assemblies.
What am I doing wrong?
Thanks
I have another problem. This is the scenario:
- My ProductVersion is 1.0.0.0
- It installs several files each with version 1.0.0.0
The QA guy of the company (or the client) installs version 1.0.0.0 and detects a bug on the software. We fix the assemblies but they don't get a new version, that is, they continue with version 1.0.0.0.
I build a new setup (with the save ProductVersion). When installing it detects a minor upgrade and asks if the user wants to upgrade. What happens is that those assemblies don't get updated.
I've set the "Always overwrite" flag in all assemblies.
What am I doing wrong?
Thanks
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 09, 2013
09:26 AM
Take a look at the log file after running the installation. Start with the InstallValidate action as that will tell you whether or not it's trying to install the relevant components. If the action on all the components is "local" (or perhaps "reinstall" in your scenario), then look for "FileCopy" in the log. You'll see it being called for every file that is set to be installed and the line right after FileCopy(...) will tell you what action was actually taken on that file and why.
that should get you somewhere, anyways. The "Always Overwrite" should work, though. i've used it before successfully.
that should get you somewhere, anyways. The "Always Overwrite" should work, though. i've used it before successfully.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 09, 2013
09:30 AM
Thanks.
The problem is that the Action is Null:
Action start 15:29:10: InstallValidate.
MSI (s) (44:54) [15:29:10:310]: Feature: OneConsole; Installed: Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (44:54) [15:29:10:310]: Component: CustomAction; Installed: Local; Request: Null; Action: Null
MSI (s) (44:54) [15:29:10:310]: Component: __PersistInstallationName65; Installed: Null; Request: Null; Action: Null
MSI (s) (44:54) [15:29:10:310]: Component: AllOtherFiles; Installed: Local; Request: Null; Action: Null
The problematic file is under component "CustomAction".
The problem is that the Action is Null:
Action start 15:29:10: InstallValidate.
MSI (s) (44:54) [15:29:10:310]: Feature: OneConsole; Installed: Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (44:54) [15:29:10:310]: Component: CustomAction; Installed: Local; Request: Null; Action: Null
MSI (s) (44:54) [15:29:10:310]: Component: __PersistInstallationName65; Installed: Null; Request: Null; Action: Null
MSI (s) (44:54) [15:29:10:310]: Component: AllOtherFiles; Installed: Local; Request: Null; Action: Null
The problematic file is under component "CustomAction".
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 09, 2013
09:41 AM
For some reason the installation thinks the feature is advertised, not installed.
Make sure you have a clean machine, and then replicate this situation. Without seeing the whole log, i'll have a hard time going any deeper on this.
Make sure you have a clean machine, and then replicate this situation. Without seeing the whole log, i'll have a hard time going any deeper on this.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 09, 2013
09:47 AM
Well, I've made one test: I've renamed the problematic assembly and then performed a "Repair". In this case the file is copied again.
I switched back to the old file, performed a repair, and nothing happened 😞
I've attached the log of this last "Repair". Once again a have a "Advertise" and no FileCopy 😞
(...)
MSI (s) (34:8C) [15:44:27:799]: Doing action: InstallValidate
Action 15:44:27: InstallValidate. Validating install
Action start 15:44:27: InstallValidate.
MSI (s) (34:8C) [15:44:27:800]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is '81bc4313338d324d83c9a8e614a7f5d8'.
MSI (s) (34:8C) [15:44:27:800]: Feature: OneConsole; Installed: Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (34:8C) [15:44:27:800]: Component: CustomAction; Installed: Local; Request: Null; Action: Null
(...)
MSI (s) (34:8C) [15:44:28:224]: Doing action: InstallFiles
Action 15:44:28: InstallFiles. Copying new files
Action start 15:44:28: InstallFiles.
MSI (s) (34:8C) [15:44:28:227]: Note: 1: 2205 2: 3: MsiPatchOldAssemblyFile
MSI (s) (34:8C) [15:44:28:227]: Note: 1: 2228 2: 3: MsiPatchOldAssemblyFile 4: SELECT `MsiPatchOldAssemblyFile`.`Assembly_` FROM `MsiPatchOldAssemblyFile` WHERE `MsiPatchOldAssemblyFile`.`File_` = ?
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2205 2: 3: MsiSFCBypass
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2228 2: 3: MsiSFCBypass 4: SELECT `File_` FROM `MsiSFCBypass` WHERE `File_` = ?
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2205 2: 3: MsiPatchHeaders
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2228 2: 3: MsiPatchHeaders 4: SELECT `Header` FROM `MsiPatchHeaders` WHERE `StreamRef` = ?
Action ended 15:44:28: InstallFiles. Return value 1.
Can you help?
I switched back to the old file, performed a repair, and nothing happened 😞
I've attached the log of this last "Repair". Once again a have a "Advertise" and no FileCopy 😞
(...)
MSI (s) (34:8C) [15:44:27:799]: Doing action: InstallValidate
Action 15:44:27: InstallValidate. Validating install
Action start 15:44:27: InstallValidate.
MSI (s) (34:8C) [15:44:27:800]: PROPERTY CHANGE: Deleting MsiRestartManagerSessionKey property. Its current value is '81bc4313338d324d83c9a8e614a7f5d8'.
MSI (s) (34:8C) [15:44:27:800]: Feature: OneConsole; Installed: Advertise; Request: Reinstall; Action: Reinstall
MSI (s) (34:8C) [15:44:27:800]: Component: CustomAction; Installed: Local; Request: Null; Action: Null
(...)
MSI (s) (34:8C) [15:44:28:224]: Doing action: InstallFiles
Action 15:44:28: InstallFiles. Copying new files
Action start 15:44:28: InstallFiles.
MSI (s) (34:8C) [15:44:28:227]: Note: 1: 2205 2: 3: MsiPatchOldAssemblyFile
MSI (s) (34:8C) [15:44:28:227]: Note: 1: 2228 2: 3: MsiPatchOldAssemblyFile 4: SELECT `MsiPatchOldAssemblyFile`.`Assembly_` FROM `MsiPatchOldAssemblyFile` WHERE `MsiPatchOldAssemblyFile`.`File_` = ?
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2205 2: 3: MsiSFCBypass
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2228 2: 3: MsiSFCBypass 4: SELECT `File_` FROM `MsiSFCBypass` WHERE `File_` = ?
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2205 2: 3: MsiPatchHeaders
MSI (s) (34:8C) [15:44:28:228]: Note: 1: 2228 2: 3: MsiPatchHeaders 4: SELECT `Header` FROM `MsiPatchHeaders` WHERE `StreamRef` = ?
Action ended 15:44:28: InstallFiles. Return value 1.
Can you help?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 10, 2013
09:37 AM
This is a shot in the dark, but try setting REINSTALLMODETEXT to vemus.
Also, after the installation completes, if you do a "modify" and then look at the feature selection tree in the UI, is that showing that the state of the OneConsole feature is advertised or installed?
Also, after the installation completes, if you do a "modify" and then look at the feature selection tree in the UI, is that showing that the state of the OneConsole feature is advertised or installed?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 10, 2013
09:39 AM
Well, I've disabled Advertising for the features and it started working.
I think that the multi-feature instance is messing something 😞
I think that the multi-feature instance is messing something 😞
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 10, 2013
09:58 AM
What do you mean by multi-feature instance?
Actually, perhaps the first thing i should have picked up on is that you seem to be using dynamic file linking. Because of this, you can only use minor upgrades if you use patch optimization. This is because dynamic file linking creates components on the fly at build time. The component GUIDs must match up with those of the package being upgraded in order for the costing operations to know what is going on. Patch optimization points the build at the previous package so that it can properly recycle the old component GUIDs.
Actually, perhaps the first thing i should have picked up on is that you seem to be using dynamic file linking. Because of this, you can only use minor upgrades if you use patch optimization. This is because dynamic file linking creates components on the fly at build time. The component GUIDs must match up with those of the package being upgraded in order for the costing operations to know what is going on. Patch optimization points the build at the previous package so that it can properly recycle the old component GUIDs.