【发布时间】:2013-06-14 10:04:47
【问题描述】:
我有一个需要传递给它的参数预设的可执行文件,因此需要batch file (.bat)。一切都运行良好,直到我发现使用的文件夹路径 [WixBundleLastUsedSource] 可以包含空格。
这里是EXE文件打包定义:
<ExePackage Id="myexepackage" Compressed="no" Permanent="yes" Cache="no"
After="previousfeature"
SourceFile="$(var.preprocessorvariable)\myexe.bat"
InstallCommand="[WixBundleLastUsedSource]myexe.exe [otherparam]" />
这是我尝试过的一些测试以及他们的日志:
这是工作变化:
应用执行包:myexepackage,操作:安装,路径:C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe.bat,参数:'"C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe. Users\user\Desktop\Install\myexe.exe 其他参数值'
虽然以下两个日志来自失败:
应用执行包:myexepackage,操作:安装,路径:C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe.bat,参数:'"C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe.bat。 \Users\user\Desktop\Install\myexe.exe" 其他参数值'
应用执行包:myexepackage,操作:安装,路径:C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe.bat,参数:'"C:\ProgramData\Package Cache\7AE3BA856B7D415569854BFE32DD3848112B7BFA\myexe.bat。 \Users\user\Desktop\Install new\myexe.exe" otherparamvalue'
每当我用" 或%quot; 之类的方式在EXE 文件包中引入引号时
<ExePackage Id="myexepackage" Compressed="no" Permanent="yes" Cache="no"
After="previousfeature"
SourceFile="$(var.preprocessorvariable)\myexe.bat"
InstallCommand=""[WixBundleLastUsedSource]myexe.exe"[otherparam]" />
它失败了:
e000:错误 0x80070001:进程返回错误:0x1
e000:错误0x80070001:执行EXE包失败。
e000: 错误 0x80070001: 无法配置每台机器的 EXE 包。
是否有解决方案或解决方法?
【问题讨论】:
-
.exe&qout;[otherparam]的左括号前是否缺少空格?
标签: parameters wix exe