2

我目前是 Wix 的新手,并且在安装过程结束时应该运行的 vbs 脚本遇到问题。

到目前为止我有什么:

我能够将几个文件和注册表调用插入到我的 msi 文件中。安装过程正常,所有文件都存储在适当的文件夹中,并且正在更新注册表。现在,我试图在安装过程结束时调用一个 vbs 脚本。脚本本身并没有什么特别之处,对于初学者来说,它应该只是显示一个消息框。

我在本文档之前创建了一个自定义操作(自定义操作类型 6):http: //blogs.technet.com/b/alexshev/archive/2008/02/21/from-msi-to-wix-part-5-自定义actions.aspx

运行 msi 文件时显示以下内容:

'此 Windows 安装程序包有问题。无法运行完成此安装所需的脚本。联系您的支持人员或包裹供应商。

我试图在 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”一起使用,也不能与它一起使用。

我的印象是文件系统上不需要脚本文件(在执行 msi 文件期间)。我可能错了吗?

可能有人知道这里出了什么问题吗?

最好的问候,马库斯

4

2 回答 2

1

您的假设是错误的:“我的印象是文件系统上不需要脚本文件(在执行 msi 文件期间)。我可能错了吗?”

该文件需要存在于文件系统中。使用您的 WIX 脚本将其复制到特定位置,然后一切都应该没问题。

于 2012-12-06T16:57:17.340 回答
0

最后,我能够解决问题。vbs 脚本的路径错误:

<Binary Id="dasd" SourceFile="C:\Dokumente und codeEinstellungen\administrator\Desktop\dasd.vbs" />

我错误地将 wxs 文件中的路径编辑为“C:\Dokumente und Einstellungen[...]\dasd.vbs”。WixEdit 只是将其设置为“dasd.vbs”,在这种情况下是正确的。

也许有人可能会发现这很有帮助,并且不必搜索太长时间来解决此案;-)。

最好的问候,马库斯

于 2012-12-10T13:17:14.707 回答