我目前是Wix的新手,并且在安装过程结束时应该运行的vbs脚本出现问题。
到目前为止我有什么:
我能够将几个文件和注册表调用插入到我的msi文件中。安装过程正常,所有文件都存储在适当的文件夹中,并且注册表正在更新。 现在,我试图在安装过程结束时调用vbs脚本。脚本本身并不特别,对于初学者来说它应该只显示一个消息框。
我在本文档之前创建了自定义操作(自定义操作类型6): http://blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-custom-actions.aspx
运行msi文件时显示以下内容:
'此Windows Installer程序包存在问题。 无法完成此安装所需的脚本 跑。请联系您的支持人员或包裹供应商。'
我尝试在wix中实现并运行脚本,如下所示:
<Binary Id="dasd" SourceFile="C:\Dokumente und Einstellungen\administrator\Desktop\dasd.vbs" />
<CustomAction Id="DoSomething" BinaryKey="dasd" HideTarget="no" Impersonate="no" VBScriptCall="" Execute="deferred" Return="check" />
<InstallExecuteSequence>
<Custom Action="DoSomething" Before="InstallFinalize" />
</InstallExecuteSequence>
属性'VBScriptCall'之前的值为'Main'。我删除了它,因为我没有使用名为'Main'的函数。我认为'Main'只会运行完整的脚本。然而,它既不与'Main'合作也不与它合作。
我认为不需要在文件系统上有脚本文件(在执行msi文件期间)。我可能在这里错了吗?
可能有人想出这里出了什么问题?
祝你好运, 马库斯
答案 0 :(得分:1)
你的假设是错误的: “我的印象是,不需要在文件系统上安装脚本文件(在执行msi文件期间)。我可能在这里错了吗?”
文件需要存在于文件系统中。使用你的WIX脚本将它复制到特定的位置然后一切都应该没问题。
答案 1 :(得分:0)
最后,我能够解决问题。 vbs脚本的路径是错误的:
<Binary Id="dasd" SourceFile="C:\Dokumente und codeEinstellungen\administrator\Desktop\dasd.vbs" />
我错误地将wxs文件中的路径手动编辑为'C:\ Dokumente und Einstellungen [...] \ dasd.vbs'。 WixEdit只是将其设置为'dasd.vbs',在这种情况下这是正确的。
也许有人可能觉得这很有帮助,并且不需要太长时间来解决这个案子; - )。
祝你好运, 马库斯