pardonnez moi par avance si ce post est limite ici. j'ai du mal de trouver
un news group adequat pour COM et ASP.
on a une bibliotheque d'objets COM (ecrits en VB6), qui doit etre
enregistrée dans le gestionnaire de composants pout faire fonctionner le
site internet que nous developpons, puisque nos pages asp s'appuie sur ces
objets.
je cherche à réaliser cette opération à partir d'un script ou d'un
automatisme, plutot que de façon manuelle (ça commence à etre lourd de faire
ça toute les 20 minutes quand on developpe les objets)
les opérations dont j'ai besoin sont : virer des objets registrés, registrer
des objets, ou plutot une dll précise, et specifier pour certains objets
leur chaine de construction (genre pour passer le nom d'un fichier
specifiant la base par exemple)
comment fait on cela ?
d'avance merci pour toute l'aide que vous pourrez m'apporter.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Simon Mourier [SoftFluent]
Tout d'abord, il faut savoir qu'il n'est pas obligatoire d'enregistrer ses composants COM dans le gestionnaire de composants. Un bon petit regsvr32 <my>.dll peut suffire. Bon, il est vrai le gestionnaire de composants peut rendre un certain nombre de service (euh ben oui heureusement) et la première chose à déterminer absolument, c'est savoir si on veut un activation en mode Librairie (in process) ou Serveur (out of process) (onglet Activation dans les propriétés du package). Si on veut une activation Librairie, il y a de fortes chances pour que le regsvr32 suffise. L'activation out of process peut être pratique justement quand on développe parce qu'on a pas besoin de redémarrer son process, on redémarre le process hébergeant.
Bien. Ceci étant dit, à part ces considérations générales, pour manipuler le catalogue COM+, il faut utiliser un objet COM (sans blague!). Voici un petit VBScript qui liste les applications COM+ déclarées sur la machine. Pour modifier les propriétés des applications, il faut faire des trucs du genre:
myApp.value("Identity")="SOFTFLUENTadministrator" myApp.value("Password")="MotDePasseEnClairCestPasMalin!" et apps.SaveChanges
attention, le nom des propriétés est sensible à la casse. Pour la chaîne de construction, c'est une une propriété des composants (donc une sous collection de l'application), qui s'apelle ConstructorString. cf ici http://msdn.microsoft.com/library/en-us/cossdk/html/f502ba60-b2b1-4556-8f91-22a474e60e0d.asp?frame=true#_cos_components_constructorstring
Pour créer des applications, y mettre des composants, faire un shutdown de l'application hébergeante (en général un dllhost.exe), détruire les applications, etc... il faut utiliser les méthodes sur l'objet Catalog (InstallApplication, InstallComponent, etc...)
En C#, c'est la même chose, il faut référencer %windir%system32comadmin.dll et peut-être aussi %windir%system32comsvcs.dll (je ne sais plus), et faire de l'Interop.
Simon. www.softfluent.com
Set WshShell = WScript.CreateObject("WScript.Shell") server = WshShell.Environment("PROCESS")("COMPUTERNAME")
set catalog = createobject("COMAdmin.COMAdminCatalog") output "Catalog version " & catalog.majorversion & "." & catalog.minorversion
catalog.connect server set apps = catalog.GetCollection("Applications") apps.populate output "Nombre d'applications COM+=" & apps.count for each app in apps DumpAppProperties app next
Function Get_Activation(l) Dim s select case l case 0 s = "Inproc" case 1 s = "Local" case else s = "(?)" End select Get_Activation = s End Function
Function Get_AccessChecksLevel(l) Dim s select case l case 0 s = "ApplicationLevel" case 1 s = "ApplicationComponentLevel" case else s = "(?)" End select Get_AccessChecksLevel = s End Function
Function Get_ImpersonationLevel(l) Dim s select case l case 1 s = "Anonymous" case 2 s = "Identify" case 3 s = "Impersonate" case 4 s = "Delegate" case else s = "(?)" End select Get_ImpersonationLevel = s End Function
Function Get_Authentication(l) Dim s select case l case 0 s = "Default" case 1 s = "None" case 2 s = "Connect" case 3 s = "Call" case 4 s = "Packet" case 5 s = "Integrity" case 6 s = "Privacy" case else s = "(?)" End select Get_Authentication = s End Function
Function Get_AuthenticationCapability(l) Dim s Dim sep s = "" sep = "" if (32 and l) then s = s & sep & "StaticCloaking" if s <> "" then sep=", " if (64 and l) then s = s & sep & "DynamicCloaking" if s <> "" then sep=", " if (2 and l) then s = s & sep & "SecureReference" if s = "" then s="None" Get_AuthenticationCapability = s End Function
Sub Output(t) wscript.echo t End Sub
"Ambassadeur Kosh" a écrit dans le message de news: %
Bonjour à tous
pardonnez moi par avance si ce post est limite ici. j'ai du mal de trouver un news group adequat pour COM et ASP.
on a une bibliotheque d'objets COM (ecrits en VB6), qui doit etre enregistrée dans le gestionnaire de composants pout faire fonctionner le site internet que nous developpons, puisque nos pages asp s'appuie sur ces objets.
je cherche à réaliser cette opération à partir d'un script ou d'un automatisme, plutot que de façon manuelle (ça commence à etre lourd de faire ça toute les 20 minutes quand on developpe les objets)
les opérations dont j'ai besoin sont : virer des objets registrés, registrer des objets, ou plutot une dll précise, et specifier pour certains objets leur chaine de construction (genre pour passer le nom d'un fichier specifiant la base par exemple)
comment fait on cela ?
d'avance merci pour toute l'aide que vous pourrez m'apporter.
Tout d'abord, il faut savoir qu'il n'est pas obligatoire d'enregistrer ses
composants COM dans le gestionnaire de composants. Un bon petit regsvr32
<my>.dll peut suffire.
Bon, il est vrai le gestionnaire de composants peut rendre un certain nombre
de service (euh ben oui heureusement) et la première chose à déterminer
absolument, c'est savoir si on veut un activation en mode Librairie (in
process) ou Serveur (out of process) (onglet Activation dans les propriétés
du package). Si on veut une activation Librairie, il y a de fortes chances
pour que le regsvr32 suffise. L'activation out of process peut être pratique
justement quand on développe parce qu'on a pas besoin de redémarrer son
process, on redémarre le process hébergeant.
Bien. Ceci étant dit, à part ces considérations générales, pour manipuler le
catalogue COM+, il faut utiliser un objet COM (sans blague!). Voici un petit
VBScript qui liste les applications COM+ déclarées sur la machine. Pour
modifier les propriétés des applications, il faut faire des trucs du genre:
myApp.value("Identity")="SOFTFLUENTadministrator"
myApp.value("Password")="MotDePasseEnClairCestPasMalin!"
et
apps.SaveChanges
attention, le nom des propriétés est sensible à la casse.
Pour la chaîne de construction, c'est une une propriété des composants (donc
une sous collection de l'application), qui s'apelle ConstructorString. cf
ici
http://msdn.microsoft.com/library/en-us/cossdk/html/f502ba60-b2b1-4556-8f91-22a474e60e0d.asp?frame=true#_cos_components_constructorstring
Pour créer des applications, y mettre des composants, faire un shutdown de
l'application hébergeante (en général un dllhost.exe), détruire les
applications, etc... il faut utiliser les méthodes sur l'objet Catalog
(InstallApplication, InstallComponent, etc...)
En C#, c'est la même chose, il faut référencer
%windir%system32comadmin.dll et peut-être aussi
%windir%system32comsvcs.dll (je ne sais plus), et faire de l'Interop.
Simon.
www.softfluent.com
Set WshShell = WScript.CreateObject("WScript.Shell")
server = WshShell.Environment("PROCESS")("COMPUTERNAME")
set catalog = createobject("COMAdmin.COMAdminCatalog")
output "Catalog version " & catalog.majorversion & "." &
catalog.minorversion
catalog.connect server
set apps = catalog.GetCollection("Applications")
apps.populate
output "Nombre d'applications COM+=" & apps.count
for each app in apps
DumpAppProperties app
next
Function Get_Activation(l)
Dim s
select case l
case 0 s = "Inproc"
case 1 s = "Local"
case else s = "(?)"
End select
Get_Activation = s
End Function
Function Get_AccessChecksLevel(l)
Dim s
select case l
case 0 s = "ApplicationLevel"
case 1 s = "ApplicationComponentLevel"
case else s = "(?)"
End select
Get_AccessChecksLevel = s
End Function
Function Get_ImpersonationLevel(l)
Dim s
select case l
case 1 s = "Anonymous"
case 2 s = "Identify"
case 3 s = "Impersonate"
case 4 s = "Delegate"
case else s = "(?)"
End select
Get_ImpersonationLevel = s
End Function
Function Get_Authentication(l)
Dim s
select case l
case 0 s = "Default"
case 1 s = "None"
case 2 s = "Connect"
case 3 s = "Call"
case 4 s = "Packet"
case 5 s = "Integrity"
case 6 s = "Privacy"
case else s = "(?)"
End select
Get_Authentication = s
End Function
Function Get_AuthenticationCapability(l)
Dim s
Dim sep
s = ""
sep = ""
if (32 and l) then s = s & sep & "StaticCloaking"
if s <> "" then sep=", "
if (64 and l) then s = s & sep & "DynamicCloaking"
if s <> "" then sep=", "
if (2 and l) then s = s & sep & "SecureReference"
if s = "" then s="None"
Get_AuthenticationCapability = s
End Function
Sub Output(t)
wscript.echo t
End Sub
"Ambassadeur Kosh" <kosh.naranek@babylon5.net> a écrit dans le message de
news: %23mBrBSrcGHA.4976@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
pardonnez moi par avance si ce post est limite ici. j'ai du mal de trouver
un news group adequat pour COM et ASP.
on a une bibliotheque d'objets COM (ecrits en VB6), qui doit etre
enregistrée dans le gestionnaire de composants pout faire fonctionner le
site internet que nous developpons, puisque nos pages asp s'appuie sur ces
objets.
je cherche à réaliser cette opération à partir d'un script ou d'un
automatisme, plutot que de façon manuelle (ça commence à etre lourd de
faire ça toute les 20 minutes quand on developpe les objets)
les opérations dont j'ai besoin sont : virer des objets registrés,
registrer des objets, ou plutot une dll précise, et specifier pour
certains objets leur chaine de construction (genre pour passer le nom d'un
fichier specifiant la base par exemple)
comment fait on cela ?
d'avance merci pour toute l'aide que vous pourrez m'apporter.
Tout d'abord, il faut savoir qu'il n'est pas obligatoire d'enregistrer ses composants COM dans le gestionnaire de composants. Un bon petit regsvr32 <my>.dll peut suffire. Bon, il est vrai le gestionnaire de composants peut rendre un certain nombre de service (euh ben oui heureusement) et la première chose à déterminer absolument, c'est savoir si on veut un activation en mode Librairie (in process) ou Serveur (out of process) (onglet Activation dans les propriétés du package). Si on veut une activation Librairie, il y a de fortes chances pour que le regsvr32 suffise. L'activation out of process peut être pratique justement quand on développe parce qu'on a pas besoin de redémarrer son process, on redémarre le process hébergeant.
Bien. Ceci étant dit, à part ces considérations générales, pour manipuler le catalogue COM+, il faut utiliser un objet COM (sans blague!). Voici un petit VBScript qui liste les applications COM+ déclarées sur la machine. Pour modifier les propriétés des applications, il faut faire des trucs du genre:
myApp.value("Identity")="SOFTFLUENTadministrator" myApp.value("Password")="MotDePasseEnClairCestPasMalin!" et apps.SaveChanges
attention, le nom des propriétés est sensible à la casse. Pour la chaîne de construction, c'est une une propriété des composants (donc une sous collection de l'application), qui s'apelle ConstructorString. cf ici http://msdn.microsoft.com/library/en-us/cossdk/html/f502ba60-b2b1-4556-8f91-22a474e60e0d.asp?frame=true#_cos_components_constructorstring
Pour créer des applications, y mettre des composants, faire un shutdown de l'application hébergeante (en général un dllhost.exe), détruire les applications, etc... il faut utiliser les méthodes sur l'objet Catalog (InstallApplication, InstallComponent, etc...)
En C#, c'est la même chose, il faut référencer %windir%system32comadmin.dll et peut-être aussi %windir%system32comsvcs.dll (je ne sais plus), et faire de l'Interop.
Simon. www.softfluent.com
Set WshShell = WScript.CreateObject("WScript.Shell") server = WshShell.Environment("PROCESS")("COMPUTERNAME")
set catalog = createobject("COMAdmin.COMAdminCatalog") output "Catalog version " & catalog.majorversion & "." & catalog.minorversion
catalog.connect server set apps = catalog.GetCollection("Applications") apps.populate output "Nombre d'applications COM+=" & apps.count for each app in apps DumpAppProperties app next
Function Get_Activation(l) Dim s select case l case 0 s = "Inproc" case 1 s = "Local" case else s = "(?)" End select Get_Activation = s End Function
Function Get_AccessChecksLevel(l) Dim s select case l case 0 s = "ApplicationLevel" case 1 s = "ApplicationComponentLevel" case else s = "(?)" End select Get_AccessChecksLevel = s End Function
Function Get_ImpersonationLevel(l) Dim s select case l case 1 s = "Anonymous" case 2 s = "Identify" case 3 s = "Impersonate" case 4 s = "Delegate" case else s = "(?)" End select Get_ImpersonationLevel = s End Function
Function Get_Authentication(l) Dim s select case l case 0 s = "Default" case 1 s = "None" case 2 s = "Connect" case 3 s = "Call" case 4 s = "Packet" case 5 s = "Integrity" case 6 s = "Privacy" case else s = "(?)" End select Get_Authentication = s End Function
Function Get_AuthenticationCapability(l) Dim s Dim sep s = "" sep = "" if (32 and l) then s = s & sep & "StaticCloaking" if s <> "" then sep=", " if (64 and l) then s = s & sep & "DynamicCloaking" if s <> "" then sep=", " if (2 and l) then s = s & sep & "SecureReference" if s = "" then s="None" Get_AuthenticationCapability = s End Function
Sub Output(t) wscript.echo t End Sub
"Ambassadeur Kosh" a écrit dans le message de news: %
Bonjour à tous
pardonnez moi par avance si ce post est limite ici. j'ai du mal de trouver un news group adequat pour COM et ASP.
on a une bibliotheque d'objets COM (ecrits en VB6), qui doit etre enregistrée dans le gestionnaire de composants pout faire fonctionner le site internet que nous developpons, puisque nos pages asp s'appuie sur ces objets.
je cherche à réaliser cette opération à partir d'un script ou d'un automatisme, plutot que de façon manuelle (ça commence à etre lourd de faire ça toute les 20 minutes quand on developpe les objets)
les opérations dont j'ai besoin sont : virer des objets registrés, registrer des objets, ou plutot une dll précise, et specifier pour certains objets leur chaine de construction (genre pour passer le nom d'un fichier specifiant la base par exemple)
comment fait on cela ?
d'avance merci pour toute l'aide que vous pourrez m'apporter.