我想在我的msi中包含一个setup.exe二进制文件,并通过自定义操作运行它。(我想要它作为二进制文件的原因是我希望它在安装过程后自动删除(
我看到了一些如何访问二进制文件的例子,但它对我来说不起作用,我觉得我错过了一些非常基本和简单的东西。日志文件(使用L*V运行msiexec(也无助于查找问题。
这是我的wxs中与二进制文件有关的部分:
<Binary Id="SetupExe" SourceFile=".Setup.exe"/>
<CustomAction Id="RunSetupBinary" Execute="deferred" Impersonate="yes" BinaryKey="SetupExe" ExeCommand="--silent" Return="check"/>
<InstallExecuteSequence>
<Custom Action="RunSetupBinary" After="InstallFiles">Not Installed</Custom>
我不以任何其他方式引用setup.exe——不在文件中,也不在组件中。
我查看了创建的msi档案,在那里看到了一个大小合适的文件,名为Binary。SetupExe
当运行msi时,我得到:
"安装程序在安装此程序包时遇到错误。这可能表明此程序包有问题。错误代码是2731〃;
有什么建议吗
谢谢!
好吧,我发现了这一点——我在wxs没有任何功能,它所做的所有工作都是注册表编辑和运行自定义操作,没有部署任何文件
所以我添加了一个readme.txt文件,该文件需要部署一个功能,现在一切都正常了。