Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Installshield X: Dynamic linked folders/files not removed after upgrad


6 replies to this topic

navinkaus

navinkaus
  • Full Members
  • 3 posts

Posted 23 September 2013 - 07:05

I am using Installsheild X and project type is basic MSI project.

 

Sequence to reproduce problem:

 

1.  Install version 1.0.0.

2.  Upgrade to 1.1.0 using major upgrade.

3.  Uinstall 1.1.0.

4.  Folders & files which were dynamically specified not removed.

 

I created a new hello world project of type basic MSI project and didn't find any issue.  Now question is, what corruption happened to my project ?  My installer is very simple in nature, it just extracts file and create shortcuts.  No registery entries or any other things.

 

 

Dymaically linked folders in a component looks like:

 

  Folder1

             Sub-Folder1

                        File1

  File2

 

  Note:  It contains multiple nested directories.  (Hello World works perfectly fine i.e. upgrade/uninstall removes everyting)

      

 Any thoughts ?

 



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 September 2013 - 11:07

Does uninstalling version 1.0.0 (without upgrade) completely remove everything?

Does uninstalling version 1.1.0 (without installing 1.0.0 first) completely remove everything?

After upgrading, do you have two entries in Add/Remove Programs (indicating an incomplete uninstall of version 1.0.0 during the upgrade)?

Did you specify the previous version for patch optimization in the release wizard for version 1.1.0? This helps InstallShield to reassign identical GUIDs to identical items.

I suspect a Component ID mis-match for components with same content. Do you get SharedFiles registry entries? What does the log (during update and during uninstall) say about those files?

Are you only adding files in one folder dynamically, or are you also including sub-folders (which would result in InstallShield having to dynamically create components)?



navinkaus

navinkaus
  • Full Members
  • 3 posts

Posted 24 September 2013 - 11:43

Thanks Stefan for your reply. Here are answers to your question:

 

Does uninstalling version 1.0.0 (without upgrade) completely remove everything?

[Navin]:  Yes.

Does uninstalling version 1.1.0 (without installing 1.0.0 first) completely remove everything?

[Navin]:  Yes

After upgrading, do you have two entries in Add/Remove Programs (indicating an incomplete uninstall of version 1.0.0 during the upgrade)?

[Navin]:  No, There is only one entry with version "1.1.0".

Did you specify the previous version for patch optimization in the release wizard for version 1.1.0? This helps InstallShield to reassign identical GUIDs to identical items.

[Navin]: No

I suspect a Component ID mis-match for components with same content. Do you get SharedFiles registry entries? What does the log (during update and during uninstall) say about those files?

[Navin]:  Each component has unique id.  Installer is being used just as an extractor with shortcuts. There are no registery entries.  How can I generate logs ?

Are you only adding files in one folder dynamically, or are you also including sub-folders (which would result in InstallShield having to dynamically create components)?

[Navin]:  No, there are nested directories.  Component with statically linked or without sub directories are working perfectly fine i.e. gets removed after upgrade/uninstall.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 September 2013 - 10:12

Each component has unique id.

Yeah, but do components in both versions have the same ID if they contain the same files?

 

How can I generate logs ?

See the link in my signature

 

there are nested directories

So the solution probably would be to create components at least for each folder and sub folder.

In general, dynamic links have some disavantages and should only be used when really needed. But in any case, you should not include subfolders dynamically. Build components for each folder, and only include the files as dynamic links.



navinkaus

navinkaus
  • Full Members
  • 3 posts

Posted 14 October 2013 - 09:39

Sorry for late reply, missed notification: Here are answers:

 

1. Yes, component in both versions contains same id, regardless of whether files are same or new additions/removal are done.

2. Yes, I saw how to enable logs.

3. Yes, I tried without sub folder, it works perfectly fine.  This issue comes only when there are sub-directories.

 

Thanks for the information provided by you.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 October 2013 - 11:28

Yes, I tried without sub folder, it works perfectly fine. This issue comes only when there are sub-directories.

That's what I guessed. So please create components for each folder manually, and only include the files but not the sub folders dynamically



surendba

surendba
  • Full Members
  • 4 posts

Posted 05 August 2014 - 09:37

Hi Stefan,

I have a similar issue with InstallShield.  We are a major Bank in Australia. We purchased InstallShield-2013 Premier last year.

Our project file is a simple MSI Project file.

For one of the main folders which has around 2500 files, I implemented dynamic linking.

I have also setup the project for "Major Upgrade" and every time I build the project, all relevant codes like product code, upgrade code and package codes are changed from my build script.

 

My issue is:

I have an a c# assembly version, for example 3.0.0.1 already installed in the target machine.

My new MSI builds the same assembly with a lower version for example 2.0.0.1.  (this is because someone on our dev team can accidentally drop a wrong version into the publish folder)

If I run the installer in the target machine, which is setup for Major Upgrade,

The un-install of the existing MSI happens ok.

The install of the new MSI happens ok as well.

But after the Major Upgrade, the above (example)  assembly is missing in the target folder.  This is due to my new MSI trying to install an older version of the assembly.

 

Question:

I wold have thought "Major Upgrade" will completely un-install previous MSI and will install the new MSI. Which is not true in my case. Any Idea?

 

To fix the issue,

I tried to setup the "ReInstallMode" property to "amus" text which was indicated my Microsoft Url : http://msdn.microsof...2(v=vs.85).aspx

but this didn't fix the issue. Any Idea?

 

I don't want to include all 2400  files as components because a new file can be publish to this folder at any time by our build system and the MSI project will fail if I don't add the new file to the project manually. This is the reason I setup 

the folder as dynamic linking.

 

The property for the component I created for the dynamic linking has the "Nerver OverWrite un-ticked. But the issue still persists. 

 

Is there any way I can setup the MSI project so the "Major Upgrade" always overrides all the files in the target folder?

 

Appreciate your help in resolving the issue

 

Thanks

Suresh