Loading
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

  • 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.
    Expand Post
  • 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.
    Expand Post

Loading
Can I make registration of COM+ Applications conditional