安装期间未启动Vbs脚本

时间:2012-12-06 13:07:22

标签: vbscript wix wix3.6

我目前是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文件期间)。我可能在这里错了吗?

可能有人想出这里出了什么问题?

祝你好运, 马库斯

2 个答案:

答案 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',在这种情况下这是正确的。

也许有人可能觉得这很有帮助,并且不需要太长时间来解决这个案子; - )。

祝你好运, 马库斯