views:

154

answers:

1

What are the known Pros/Cons of using windows active setup for deployment? Does Microsoft recommend/support using active set up?

If your are interested, here is the context: I'm working on outlook 2003 VSTO addin.The installer for this addin creates few registry entries either in HKCU or HKLM depending on "Single User" Or "All User" installation. We are planning not to use "All User" installation since the addins installed for all users does not show up in COM AddIns list in outlook.The alternate approach is to use active set to install for single user.

+1  A: 

Some time ago I published a short article comparing different methods for setting HKCU Registry entries from a Windows Installer package: Using Self-Healing To Your Advantage.

Personally, I tend to prefer using ActiveSetup, primarily because it is fast, easy, and transparent. The alternate technique (building HKCU entries into the MSI thus forcing a self-healing for each user who logs on) has the annoying progress window pop-up, and might fail if user's hit the cancel button or don't have access to the source MSI... you get the idea.

Offhand, I can't really think of any disadvantages for using the ActiveSetup technique, except perhaps that it requires a little more forethought when you're creating or updating the MSI package.

ewall
Thanks.How do you handle uninstalling the software in the approach mentioned in you article.*Assume User1 installs Product for all users *user2 when logged, in triggers a repair using msiexec and adds HKCU entries *user1 log in and uninstalls the product The problem now is the HKCU entries are not delete for User2. How do we make sure uninstall cleans up all users registries.[I tried option where User1 install "Just Me". When User2 logs in the msiexec repair fails since it cannot find the product]
Deepak N
I don't know of any reliable way to cleaning up all the HKCU keys upon deinstallation... but many, many programs have this problem, and there's nothing much to do about it.(As for the situation in which you installed the program under User1 for "Just me", then generally the program is completely unavailable to others like User2, so I would expect the repair to fail. But if you install it for "Everyone on this computer", then other users can run it and get their HKCU Registry entries through either self-healing or ActiveSetup.)
ewall
I could not find any documentation on msdn for Active Setup and details on logs generated by active setup for troubleshooting.Is there an alternative to Active Setup and Self healing for managing per user installation.
Deepak N
I understand your hesitation to use an undocumented feature. In one sense, there's a possibility that Micro$0ft could change it in a future OS... but on the other hand, it has existed for a long time and is used by many programs, so they are very likely to continue supporting it for years, or forever. Looking at "HKLM\Software\Microsoft\Active Setup\Installed Components" on the PC I'm using right now, I counted 56 components using ActiveSetup! If M$ were to change ActiveSetup, it would break a lot of programs, many of which are their own.
ewall
As for alternatives... hmm. Well, one way I've seen is having a small program (maybe in the system tray, or an invisible one) which the installer sets up to be run for all users (via the Start Menu's Startup folder, or the RunOnce Registry keys). Then that program is responsible for setting each user's HKCU configruation, etc. Others may skip Registry settings entirely and use an .INI file instead--thus, the first time a user runs the program it would create their personal .INI file (maybe in their Application Data folder) by copying from the all users/default template.
ewall
Thanks a lot for your suggestions.I guess there is no other *$tandard* way of achieving this.I'll have to keep my fingers crossed going with Active setup.
Deepak N