質問

カスタムアクションのために、私はXmlPreprocess.exeに名前を付けるために(CodePlexのユーティリティ)を設定しています。

との引数:/ X: "[SETTINGSFILE" /i:"[TARGETDIR]web.config」/ E:[ENVIRONMENTBUTTON] [CUSTOMSETTINGS]> [TARGETDIR] XmlPreProcess.log

SETTINGSFILEは、私が追加したカスタムフォームページから来ることになって、そしてENVIRONMENTBUTTONは私のラジオボタンのいずれかの値です。

リダイレクト作業を取得する方法はありますか?これは、.logファイルを作成していません。 カスタムアクションの結果を確認するために他の方法はありますか?それが実行された場合どのように私も確認することができますか?私はそれに送られたものをPARMS見たい場合はどう?

アップデート3: - 私が試したもののより多くのシナリオについては、こちらをご覧ください: http://xmlpreprocess.codeplex.com/Thread/View.aspx?ThreadId= 79454

おかげで、

ニール

アップデート: 私はちょうど私のPARMSを確認するために急ごしらえのVBScriptを書きました。

dim fso, oFile 
set fso = Createobject("Scripting.FileSystemObject") 
set oFile = fso.CreateTextFile("VBScriptOut.txt") 

if WScript.Arguments.Count < 2 then 
   oFile.Writeline("Number of arguments was only = " & WScript.Arguments.Count)
else 
   oFile.WriteLine("SETTINGSFILE=" & WScript.Arguments.Item(0))   
   oFile.WriteLine("ENVIRONMENTBUTTON=" & WScript.Arguments.Item(1))
end if 

oFile.close

はありませんVBScriptout.txtが作成されたので、私は(そう、私の推測ではあるXmlPreprocessもどちらか実行されていない)それも走ったとは思いません。

私は、「インストール」の下のカスタムアクションとしてInstalLVerification.vbsファイルが含まれています。 私は、プロパティウィンドウで真=条件を設定しました。 "[SETTINGSFILE]" [ENVIRONMENTBUTTON]

:私はにCustomActionDataを設定しました

アップデート2: 私は今、条件が「真」ではありません実現しました。私はどちらかそれアウトまたは「Not Installed」に設定し、空白。

私はXmlPreprocessに原因不明のエラーを取得している、と私は、VBScriptを実行するために取得することはできません。私はCScript64.exeでも、それを実行してみました。

役に立ちましたか?

解決

のみコマンドプロンプト(時折他のツール)の出力のリダイレクトを指示するために大なり記号を使用します。 Windowsインストーラは、ちょうどこのシンボルを処理していないのWin32のCreateProcess APIを呼び出します。このように、結果をログに記録するあなたの試みは動作しません。おそらく、あなたは(引用いくつかの余分が必要な場合があります)cmd.exe /c XmlPreprocess.exe /x ... > [TARGETDIR]XmlPreprocess.logのように見えるためにあなたのコマンドを書き換えることができます。

デバッグのために、あなたは一般的に、インストールプロセスの詳細なログを取ることによって、より多くの情報を得ることができます。これは、プロパティの、そしてそれが立ち上げたカスタムアクションとその戻りコードのリストが含まれます。私はそれも、あなたのケースでアプリケーションに渡される完全にフォーマットコマンドラインを含めるだろうと思います。

あなたがアップデート2で言うと同じように、

Trueの条件は、実際に名前Trueのプロパティが定義されているかどうかを調べるために意味することに注意してください。あなたは常に真です何かをしたい場合は、値1を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top