msi (セットアップ プロジェクト) のカスタム アクション内のスクリプト内から caspol を呼び出したいと思います。標準の msi を使用すると、ドライバーをインストールしてファイルタイプをアプリケーションに関連付けることができますが、ClickOnce ではできないためです。
コマンド ラインから caspol コマンドを実行すると成功しますが、vbscript 内からは常に「Fehler: Unbekannte Mitgliedschaftsbedingung - -url..」というエラーで失敗します。これは「エラー: 不明なメンバーシップ条件: -url」と解釈されます。さらに明確にするために: 生成されたコマンドのコピー & ペーストは、ローカル管理者として、ワークグループの一部として、バージン仮想マシンのローカル ドライブに直接コマンド ラインで正常に機能します。
私には 2 つの考えがあります。2. Caspol は、スクリプト内から実行していることを認識し、意図的に無意味なエラーで停止します。
個人的には、単なる構文エラーだと思います。
これが私のスクリプトです:
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
前もって感謝します、
マット