有关的自定义动作,我设置为姓名到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个

谢谢,

尼尔

更新: 我只写了一个匆匆VBScript来验证我的PARMS。

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文件作为自定义操作。 我设置的条件=在属性窗口中真。 我设置CustomActionData到: “[SETTINGSFILE]”[ENVIRONMENTBUTTON]

更新2: 我意识到现在的条件不应该是“真”。我要么空出来或者将其设置为“未安装”。

我在XmlPreprocess得到一个莫名其妙的错误,我不能得到的VBScript运行。我试着用CScript64.exe运行它也。

有帮助吗?

解决方案

只有命令提示(和偶尔的其他工具)使用大于符号,以指示输出重定向。 Windows安装程序只是调用Win32 API函数CreateProcess不处理这个符号。因此,你的尝试将结果记录将无法正常工作。也许你可以重写你的命令看起来像cmd.exe /c XmlPreprocess.exe /x ... > [TARGETDIR]XmlPreprocess.log(可能需要一些额外的报价)。

有关调试的目的,通常可以通过采取安装过程的详细日志获取更多的信息。这将包括属性的列表,以及自定义操作,它推出和他们的返回码。我认为它甚至会包括传递给应用程序在你的情况下,完全格式化的命令行。

就像你在更新2说,注意True的条件实际上意味着查找名称True的属性是否被定义。如果你想要的东西,总是真,使用值1

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top