【问题标题】:Call command line after installation in Wix在 Wix 中安装后调用命令行
【发布时间】:2011-09-30 10:22:21
【问题描述】:

我正在使用 wix,想在安装后调用命令行。

我该怎么做?

我的命令行在这里 "bcdedit.exe /set {current} nx AlwaysOff" // 这使 dep 关闭

是的,我已经阅读了自定义操作,但我没有看到任何命令行示例。

附: bcdedit 是 Win 7 及更高版本中的常用 exe。

附:目前我有下一个脚本,但它不起作用:

          Directory  ="INSTALLLOCATION"
          ExeCommand ='echo hello> echo_test.txt'
          Execute    ="immediate"
          Return     ="asyncNoWait"
                />

【问题讨论】:

  • 能否提供错误的详细信息以及您使用的代码
  • Ew,像这样更改机器的全局设置不是普通安装应该做的事情。也许这在公司内是可以的,但如果某些应用程序对我的机器这样做,我会不高兴。

标签: wix wix3.5


【解决方案1】:

echo 不是可执行文件,它是命令处理器cmd.exe 的命令。将您的 ExeCommand 值更改为 cmd.exe /c "echo hello >echo_test.txt"

您的echo_test.txt 将位于任意目录中,您必须使用绝对路径才能获得可预测的结果。

【讨论】:

    【解决方案2】:

    好的,这个例子有效...

    <CustomAction Id         ="echo_test"                     
                  Directory  ="INSTALLLOCATION"
                  ExeCommand ='NOTEPAD.EXE echo_test.txt'
                  Execute    ="immediate"
                  Return     ="asyncNoWait"
                        />
    

    由于某种原因,我的 echo 测试示例无法正常工作。 而且 bcdedit 在我现在正在测试的 WinXP 上不存在...

    【讨论】:

    • 所以这段代码确实有效,不是吗?如果是,您应该接受它作为答案。 my answer 解释了为什么它不适用于 echo
    【解决方案3】:

    您好,网上有很多示例...

    试试这些链接

    http://wix.sourceforge.net/manual-wix2/qtexec.htm

    Execute Command Line In WiX Script?

    WiX - CustomAction ExeCommand - Hide Console

    或者试试这个例子:

     <CustomAction Id="SetQtExecCmd" Property="SetQtExec"
           Value="&quot;[PutPathOfThisFileHere]bcdedit.exe&quot; /set {current} nx AlwaysOff" />
    <CustomAction Id="SetQtExec" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check" />
    

    【讨论】:

    • 它说:错误 2 CustomAction/@BinaryKey 属性的值 ' ' 不是合法标识符。标识符可以包含 ASCII 字符 A-Z、a-z、数字、下划线 (_) 或句点 (.)。每个标识符必须以字母或下划线开头。是因为它是空的。是的,我看过这些链接。而且我没有看到任何命令行的工作示例,而不是单个 exe。
    • 是的,那是因为 BinaryKey 是空的...我已经更新了我的答案...检查一下
    • 我用过你的例子,但由于某些原因,当我使用它时,我的安装失败了。我找到了正确的答案。
    • 第一个正确答案来自我。但我仍然需要命令“bcdedit.exe /set {current} nx AlwaysOff>>log.txt”的工作示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 2014-08-07
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多