cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
esiemiat
Level 9

Component's "Shared" Property

I am new to Basic MSI project types and just noticed that every component I created had the Shared property set to yes, even if the file is going into INSTALLDIR. Is this by design? Should every component be marked as shared? If not, can I change some setting in the IDE to default this setting to No which I believe should be the setting for 99% of my components.
Labels (1)
0 Kudos
(5) Replies
KathyMorey
Level 10

I believe that the IS IDE defaults to shared for new components (at least through IS12) and I have never been able to find a setting to change this default behavior.
0 Kudos
mumbles
Level 7

yeah i've learnt to shut this off. If the refernce count somehow gets corrupted which for us is quite often, it may keep the older version of the files around and cause weird behaviour in your application.
0 Kudos
lordmaxx
Level 6

Shared is a setting that you use if you think you are going to have multiple copies of those files. It defaults to yes so many of us have gotten use to turning it to no when adding components.

The windows installer keeps the count of shared files in the registry and that area can get very mucked up. And yes you'll end up leaving files behind on uninstall...

you can see the counts in your registry here:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDLLs
0 Kudos
DLee65
Level 13

I have not found a place to turn this off as well. It would be nice if InstallShield would expose this setting so that we can say we want to have all new components marked as NOT shared by default.

We have a standard bug ticket created for each new project that reminds us to go through the setup and verify that none of the components are marked as shared UNLESS they are supposed to be shared. Then we have to add to this ticket a list of the files that are supposed to be shared between applications.
0 Kudos
esiemiat
Level 9

I agree. Having an option to turn this off would be nice. This would be similiar to the option to set the default for the ".Net Scan at Build" component property.
0 Kudos