Hi everyone!
Does anybody know how to programmatically install a COM+ application
and set the identity account (domain\user)?
I'm using c# (.net 1.1x) winxp sp2, win2003 rc2
[assembly: ApplicationActivation(ActivationOption.Server)]
MyComponent: ComponentService
{
....
}
I was looking into the methods from
System.EnterpriseServices.RegistrationHelper:
RegistrationHelper helper = new
RegistrationHelper();
RegistrationConfig config = new RegistrationConfig();
config.Application = "xxxx";
config.ApplicationRootDirectory = installDirectory;
config.AssemblyFile =
typeof(SecurityInfo.UserInfo).Assembly.Location;
config.InstallationFlags =
InstallationFlags.FindOrCreateTargetApplication;
helper.InstallAssemblyFromConfig(ref config);
...but there is nowhere I can put the account under which I want to run
this component nor I find any attributes that seem to help.
Have you any ideas? I wouldn't mind using (not yet wrapped) COM or
win32 functions.
Thanks in advance,
Lennin
lennin@gmail.com - 30 Nov 2006 17:16 GMT
Nevermind. using COMAdmin (com reference) it works : )
Code used:
-----------------------------------------------------------------------------------------------------------
COMAdminCatalog ca = new COMAdminCatalogClass();
COMAdminCatalogCollection cacc =
(COMAdminCatalogCollection)ca.GetCollection("Applications");
cacc.Populate();
foreach(COMAdminCatalogObject cac in cacc)
{
if(cac.Name.ToString() == config.Application)
{
cac.set_Value("Identity", user);
cac.set_Value("Password", password);
cacc.SaveChanges();
Logger.Write("Setting identity sucessfully.");
break;
}
}
lennin@gmail.com schrieb:
> Hi everyone!
>
[quoted text clipped - 32 lines]
>
> Lennin