cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Brian_Savidge
Level 3

Can I make registration of COM+ Applications conditional

Hi
I'm trying to write a Basic MSI installer to install a COM+ Application.

My project so far has the appropriate COM+ Application ticked in the Component Services section, displays the LogonInformation dialog to get users details and sets the account the COM+ Application is to run as to those user details:
Username=[IS_NET_API_LOGON_USERNAME]
Password=[IS_NET_API_LOGON_PASSWORD]

The install installs the COM+ Application and everything looks correct.

The problem comes when I try an update. Regardless of what I do, I keep getting "Error 27508.Error installing COM+ application MyApp. The identity of password set on the application is not valid" because the IS_NET_API_LOGON_USERNAME hasn't been set (because I haven’t shown the LogonInformation dialog).

I would prefer not to have to run the LogonInformation dialog each time I do an update if I can possibly avoid it.
My solution was not to bother with the COM+ registration side of things and only updates files, especially since I don't want to alter current configuration of the COM+ Application. I tried setting conditions on both the Features linked to the COM+ Application and on the Installation Type (Installation tab for the COM+ Application) but to no avail. I can't see any other likely conditions to try configuring.

Am I taking the wrong approach to this?
Should I always display the LogonInformation dialog and insist on a valid username and password for each update?

Any help would be appreciated,
Brian
Labels (1)
0 Kudos
2 Replies
mikegillow
Level 5

This one has been a thorn in my side, too. There is no way to extract the password out of the COM+ parameters (you can extract the username), but if you don't have a valid UID/PWD combo during the upgrade it will fail.
My solution was to add a UID/PWD dialog during upgrades as well as new installs. I also found that if both of those properties were set to NULL then the install would also work, so I allow a "set it later" option.
The only other possible solution I could think of was to have the install store the info somewhere for later retrieval, but that was a security concern I wasn't willing to try to defend.
0 Kudos
Christopher_Pai
Level 16

I haven't used COM+ in years, but when I did, I felt the pattern was very half baked.

Personally I used custom actions to register the COM+ apps. Search the archives from several years ago and you'll find source code snippets.

Of course these days I'd refactor it all to be datadriven including a Condition column for evaluating whether to register or not per your needs.
0 Kudos