【发布时间】:2018-06-16 15:39:51
【问题描述】:
我正在创建一个引导程序,并且我想删除在安装过程中创建的链接。所以我写了以下步骤:
<Chain>
...
<ExePackage Id="removelnk" Cache="no" SourceFile="run.bat" InstallCommand="del "C:\Users\Public\Desktop\Parity UI.lnk"" />
</Chain>
其中run.bat 就是%*,它允许运行任意代码,如here 所述。
但是,它不起作用:
[19EC:0E2C][2018-06-16T18:32:27]i301: Applying execute package: removelnk, action: Install, path: C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat, arguments: '"C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat" del "C:\Users\Public\Desktop\Parity UI.lnk"'
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Process returned error: 0x1
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to configure per-machine EXE package.
[0AE4:2B94][2018-06-16T18:32:27]i319: Applied execute package: removelnk, result: 0x80070001, restart: None
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
如果我通过登录我的cmd 执行此命令,那么它会按预期工作。它甚至可以在没有管理员权限的情况下工作。
这里有什么问题?
【问题讨论】:
-
查看 MSI 中的哪些功能具有带有快捷方式的组件。 (尝试 dark.exe 或 orca 或 InstEdit)如果您可以不使用该功能,只需在安装期间将其排除。否则按照@Stein 的建议进行操作。
标签: wix windows-installer installation burn