GT>Но как быть с COM+ компонентами ? Средствами UI InstallShield эта задача решается, но автоматизировать этот процесс средствами UI невозможно.
GT>С очередями вообще ничего не понятно.
GT>Или может есть другие средства, которые могут включать COM+ компоненты в инсталляционный пакет, создавать очереди и получать mci ?
У нас сделано через Custom Action на vbs:
CaDebug 1, "Find COM+ app"
Dim cat : set cat = CreateObject("COMAdmin.COMAdminCatalog")
Dim i
Dim apps
Dim appObj, comps, comp
Set apps = cat.GetCollection("Applications")
apps.Populate
i = 0
For Each appObj in apps
If appObj.Name = "xxxxxx" Then
apps.Remove i
apps.SaveChanges
CaDebug 1, "Old vercion of COM+ app has been removed"
Exit For
End If
i = i + 1
Next
CaDebug 1, "Create COM+ app"
Set appObj = apps.Add
CaDebug 1, "COM+ app has been created"
appObj.Value("Name") = "xxxxxx"
CaDebug 1, "COM+ app has been named"
appObj.Value("Description") = "xxxxxxxxxxx"
CaDebug 1, "COM+ app has been described"
appObj.Value("Authentication") = 1
appObj.Value("ImpersonationLevel") = 3
appObj.Value("AccessChecksLevel") = 0
appObj.Value("ApplicationAccessChecksEnabled") = 0
apps.SaveChanges
CaDebug 1, "COM+ app has been saved"
cat.InstallEventClass "xxxxxx", VbsCaCadGet("dir") & "sys\EventClass.dll", "", ""
CaDebug 1, "Event class has been created"
cat.InstallComponent "xxxxxx", VbsCaCadGet("dir") & "sys\EventSubscriber.dll", "", ""
CaDebug 1, "Subscriber has been created"
cat.RefreshComponents
set cat = Nothing
CaDebug 1, "COM+ app instalation completed"
ну и про удаление не забудь