I have an application with 3 com+ packages and several com+ dll's in each. How can I get Install Shield Developer to set these packages up and register each component in the correct package?
There must be a way to do this but I am struggling to find any documentation or examples. Everything I can find is for standard COM servers, and not COM+..
Any help you can give would be greatly appreciated, as I am finding InstallShield to have quite a steep learning curve for beginners.
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
COM+ Packages and DLL's
Started by
miken
, Apr 02 2002 04:24
3 replies to this topic
Posted 02 April 2002 - 16:04
I'm not using ISWI (I'm just creating MSI files directly), and the only way I discovered to do this is to export the various COM+ Apps and then call them as nested installs from your main installer.
Posted 10 April 2002 - 08:50
I actually do this (COM+ registration) with a wizard that is launched after the setup is complete, but you could probably automate it in installshield with a custom action in VBScript.
Please excuse any mistakes - I am editing production code in notepad for this post :-)
Public Function RegisterInMTS(strName, strFileNameAndPath)
On Error GoTo RegisterInMTS_Error
Dim objCatalog
Dim objApps
Dim objNewApplication
Dim intCount
' First, we create the catalog object
Set objCatalog = CreateObject("COMAdmin.COMAdminCatalog")
Set objApps = objCatalog.GetCollection("Applications")
objApps.Populate
' look for existing app
For intCount = objApps.Count - 1 To 0 Step -1
If objApps.Item(intCount).Name = strName Then
objApps.Remove intCount
End If
Next
Set objNewApplication = objApps.Add
objNewApplication.Value("Name") = strName
objNewApplication.Value("Activation") = "Inproc"
objApps.SaveChanges
bjCatalog.InstallComponent strName, strFileNameAndPath, vbNullString, vbNullString
RegisterInMTS = True
RegisterInMTS_Error:
If Err.Number <> 0 Then
RegisterInMTS = False
End If
End Function
Please excuse any mistakes - I am editing production code in notepad for this post :-)
Public Function RegisterInMTS(strName, strFileNameAndPath)
On Error GoTo RegisterInMTS_Error
Dim objCatalog
Dim objApps
Dim objNewApplication
Dim intCount
' First, we create the catalog object
Set objCatalog = CreateObject("COMAdmin.COMAdminCatalog")
Set objApps = objCatalog.GetCollection("Applications")
objApps.Populate
' look for existing app
For intCount = objApps.Count - 1 To 0 Step -1
If objApps.Item(intCount).Name = strName Then
objApps.Remove intCount
End If
Next
Set objNewApplication = objApps.Add
objNewApplication.Value("Name") = strName
objNewApplication.Value("Activation") = "Inproc"
objApps.SaveChanges
bjCatalog.InstallComponent strName, strFileNameAndPath, vbNullString, vbNullString
RegisterInMTS = True
RegisterInMTS_Error:
If Err.Number <> 0 Then
RegisterInMTS = False
End If
End Function
Posted 15 April 2002 - 17:05
Yes, you can export an COM+ app as a .msi file and run it as a custom action,everything is OK if the components have no dependency from other nocomponents dlls.If at least one component has such a kind of dependency, the msi app cannot register all components.
Any hints regarding that?
dumitru olteanu
Any hints regarding that?
dumitru olteanu