VBScript Wix自定义操作参数

VBScript Wix自定义操作参数,vbscript,wix,windows-installer,installation,Vbscript,Wix,Windows Installer,Installation,我试图在WIX/MSI安装程序中使用VBScript,从命令行这样调用: cscript.vbs 这是在旧安装程序的cmd文件中调用的,但是否可以在Wix中的单个自定义操作中实现?我试图用ExeCommand传递args,但这会将CA类型更改为66,并尝试执行。 这可能吗?如果是这样的话,我们该怎么做呢?我不想“安装”vbs文件,运行它,然后删除它(或将其保留在program files目录中)。您需要安装它,因为在您的场景中,除了使用cscript命令行运行它之外,您别无选择,这要求它必须在系

我试图在WIX/MSI安装程序中使用VBScript,从命令行这样调用: cscript.vbs

这是在旧安装程序的cmd文件中调用的,但是否可以在Wix中的单个自定义操作中实现?我试图用ExeCommand传递args,但这会将CA类型更改为66,并尝试执行。
这可能吗?如果是这样的话,我们该怎么做呢?我不想“安装”vbs文件,运行它,然后删除它(或将其保留在program files目录中)。

您需要安装它,因为在您的场景中,除了使用cscript命令行运行它之外,您别无选择,这要求它必须在系统上。它在Windows Installer中不能作为自定义操作宿主,因为它使用WSH而不是Windows Installer提供的WScript对象。WiX IIS扩展没有帮助吗


另一种选择是根据您的需求修改该脚本,以便在不安装它的情况下作为自定义操作运行-这将取决于您对vbscript的熟悉程度,并避免在其中使用WScript对象

WiX支持只调用vbscript自定义操作,它们可以位于二进制表中,因此不需要安装。通常,人们通过属性传递参数,但要回答这个问题,您需要显示一些WiX,以查看您的CA是否是立即的、延迟的等。不过,VBScript CA是不受欢迎的。问题是,我不想重写所有遗留代码/自定义操作,它还与IIS 5/6接口,为HttpHandler设置权限和映射。我知道VBScript很糟糕,但我只是想找出目前最好的解决方法。当我们在遥远的将来转向只支持IIS 7时,有一些服务器管理对象可以带到c#中,我可以用vbs完成!(希望如此)如果有帮助,我会使用adsutil.vbs吗?本以为这是一个内部vbs脚本,但结果却是一个windows脚本。。正在尝试将参数传递给该脚本并在不复制到系统的情况下运行。您需要安装该脚本,因为除了使用cscript命令行运行它之外,您别无选择,这要求它必须在系统上运行。它不会在Windows Installer中作为自定义操作托管,因为它使用WSH而不是Windows Installer提供的WScript对象。WiX IIS扩展没有帮助吗?如果你这样回答,我会接受它,它回答了问题。我会看一看IIS扩展,因为我没有编写一个合适的网站安装程序,只是为项目的这一小部分安装了处理程序,我没有考虑扩展可能有用。。我知道你很蠢