Je voudrais appeler caspol à partir d'un script dans une action personnalisée dans un msi (projet d'installation). Je préférerais un msi standard à ClickOnce, car avec un standard msi je peux installer les pilotes & associer les types de fichiers avec notre application alors qu'avec ClickOnce je ne peux pas.exécuter caspol à partir de vbscript
Lorsque j'exécute la commande caspol de la ligne de commande, il réussit, mais de l'intérieur vbscript il échoue toujours avec l'erreur « Fehler: Unbekannte Mitgliedschaftsbedingung - -url .. » - qui se traduit par « Erreur: adhésion inconnue condition: -url ". Pour clarifier davantage: A copier & pâte de la commande générée fonctionne correctement sur la ligne de commande directement sur le lecteur local d'une machine virtuelle vierge, en tant qu'administrateur local , dans le cadre d'un groupe de travail.
Je ai deux idées: 1. Je ne suis pas roi vbscript, alors peut-être que j'ai manqué des citations ou fait un certain type d'erreur de syntaxe . 2. Caspol reconnaît que je l'exécute depuis un script et s'arrête avec une erreur intentionnellement absurde.
Personnellement, je crois que c'est juste une erreur de syntaxe stupide.
Voici mon script:
set sh = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
dim command
dim location
dim retVal
location = fso.GetFile(Wscript.ScriptFullName).ParentFolder
'%windir%\microsoft.net\framework\v2.0.50727\caspol.exe -pp off -m -addgroup 1 –url file://COMPUTER/SHARE/* FullTrust -name sbw2
command = fso.GetSpecialFolder(0) & "\microsoft.net\framework\v2.0.50727\caspol.exe -pp off -m -ag 1 –url file://"
for each s in Split(location, "\")
if Len(s) > 0 then
command = command & s & "/"
end if
next
command = command & "* FullTrust -name sbw2"
'DEBUG
'command = fso.GetSpecialFolder(0) & "\microsoft.net\framework\v2.0.50727\caspol.exe -m -ag 1 –url file://mjlaptop/sbw2/* FullTrust"
Wscript.StdOut.WriteLine VbClrf
Wscript.StdOut.WriteLine command
Wscript.StdOut.WriteLine VbClrf
Set output = sh.Exec(command)
dim text
while Not output.StdOut.AtEndOfStream
text = text & output.StdOut.Read(1)
Wend
Wscript.StdOut.WriteLine text
Merci à l'avance,
Matt
J'accepte ma propre réponse ici. Pour clarifier, je suis à la fois Cpt. Yossarian et Matt Jacobsen. N'hésitez pas à vous plaindre si vous pensez que c'est nécessaire. –
Pratique. Peut-être méritez-vous aussi un vote pour le savoir? – Tomalak