cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
chilakamarthi81
Level 2

uninstall leaving lot of files in installed folder

Uninstall leaving lot of files in installed folder. Though it is deleting many files and folders we still see files and folders in install location. Its basic MSI project

Labels (2)
0 Kudos
(10) Replies
rguggisberg
Level 13

Uninstall will not remove any files that the installer did not put there (unless you dos via a custom action). Any files that were manually placed will not be removed.

rguggisberg
Level 13

Also, if you have any Shared files, it could be that the reference counts are messed up. If so, they may not get removed. Unfortunately, I think the default for components is that they are Shared. This is why I change mine to not shared unless required. Fixing the reference counts is a bit involved.

0 Kudos
chilakamarthi81
Level 2

Thank you for the update. I see your point is very valid. On the same note, I instructed test team to test our product, will keep you posted on progress...

[ABB logotype]
-
Subrahmanyam Chilakamarthi
Software Engineer
ABB Inc.
E-mail: subrahmanyam.chilakamarthi@in.abb.com
abb.com<>
0 Kudos

Hi @chilakamarthi81,

Thank you for your post.

Did this issue with the shared components and reference counts occur on a test machine? Or on a production machine?

Please let us know if you have any questions or concerns. Thanks!

0 Kudos

Hi Ian,

Is there a way to make the default for new components to be NOT SHARED?

Thanks

0 Kudos

Hi @rguggisberg,

Thank you for your post.

You could try using the InstallShield automation interface and writing an automation script to programmatically update all of the components in the project.

Here is a link to documentation with some example automation scripts, in VBScript and PowerShell:

https://community.flexera.com/t5/InstallShield-Knowledge-Base/How-to-Update-All-Components-Using-the-Automation-Interface/ta-p/5592

If you get an object reference to the ISWiComponent Object, you could try setting the SharedDLLRefCount property to False.

Here is a link to the ISWiComponent Object documentation:

https://docs.revenera.com/installshield28helplib/helplibrary/IHelpAutoISWiCompObject.htm#ref-automationinterface_2857854175_1103478

Please give these suggestions a try. Do they work for you?

Please let us know if you have any questions or concerns. Thanks!

0 Kudos

Thanks for the suggestions Ian. I was hoping for a way to change the default for new components so that I don't need to go through and change them all later. Changing them all later would also change the few that SHOULD be shared.

0 Kudos

You're welcome @rguggisberg. To clarify, based on my research, the only way to changed Shared to No for an existing project with existing components, besides making the project setting change manually, is with the automation interface.

You could create a new Basic MSI project template that automatically sets Shared to No for a new component, when you create it, by following the following steps:

1. Create a Basic MSI project.

2. Go to the Direct Editor.

3. Navigate to the InstallShield MSI Table.

4. Add a new property named MsiComponentAttributes and set its value to 0.

5. Open the Save As dialog from the File button in the ribbon.

6. Change the Save as Type dropdown menu option to InstallShield Template (*.ist).

7. Specify an appropriate File name for the new template.

8. Create new Basic MSI projects based on the new template listed under All Types in the New Project Dialog.

I tested and confirmed that this worked for me. Please give these steps a try and let me know if you have any questions or concerns. Do these steps work for you?

Thanks!

0 Kudos

Ok... thanks for looking into it.

Unfortunately, I don't make new projects very often... just changes to existing ones.

0 Kudos

Thanks for your reply.

You're welcome; I'm happy to help.

0 Kudos