在VS安装程序自定义操作中使用cmd.exe

时间:2010-01-12 15:47:35

标签: visual-studio-2008 windows-installer installation custom-action

我将自定义操作设置为cmd.exe并添加以下参数:

/K XmlPreProcess.exe /x:"[SETTINGSFILE]" /i:"[TARGETDIR]web.config" [CUSTOMSETTINGS] /e:[ENVIRONMENTBUTTON] >log.txt 

我正试图:

a)停止命令屏幕以便我可以阅读

b)将结果写入文件,以便我可以阅读。

[ENVIRONMENTUTTON]应该等于QA - 我从一个显示4个单选按钮的对话框中选择。 [SETTINGSFILE]是用户输入的字段,也是对话框表单。

命令窗口闪烁,我没有时间阅读它,也没有创建log.txt。

原始我试图只运行XmlPreProcess.exe,但同样的问题,它被给出一个错误,我看不到错误来调试它。

相关问题: Making sense out on .MSI verbose trace - running a CustomAction How to debug failure of a custom action in an MSI/Setup project

尝试过一次:msiexec / i“C:\ MyPackage \ Example.msi”/ L * V“C:\ log \ example.log” 但也没有给出太多有用的东西 - 只确认我的值在[SETTINGSFILE]和[ENVIRONMENTUTTON]中正确替换。

我发布了一个新问题,因为现在我专门处理cmd.exe。

2 个答案:

答案 0 :(得分:0)

在哪个序列中运行的自定义操作以及在什么上下文中运行?

答案 1 :(得分:0)

一些建议:

  • 你想使用“/ c”代替“/ k”(执行命令后“/ c”停止)
  • “> log.txt”将输出写入执行文件旁边,该文件很可能位于Temp文件夹中(在那里提取自定义操作);你可以尝试这样的事情:

    > “中[DesktopFolder] log.txt的”

  • 在较新的Windows版本上只有在使用提升的命令窗口时才能创建“C:\ log \ example.log”

我希望这会有所帮助。