我正在使用最新版本的 WiX 来构建我的安装程序项目,并且需要解决我的问题...
当我安装ProductA.msi时,我希望ProductA.msi将自身复制到一个目录中,将其命名为%PROGRAMFILES%\ProductA\Installer - 这样我使用的安装程序就可以在%PROGRAMFILES%\ProductA\Installer\重复使用产品A.msi
有谁知道这是否可能?
我正在使用最新版本的 WiX 来构建我的安装程序项目,并且需要解决我的问题...
当我安装ProductA.msi时,我希望ProductA.msi将自身复制到一个目录中,将其命名为%PROGRAMFILES%\ProductA\Installer - 这样我使用的安装程序就可以在%PROGRAMFILES%\ProductA\Installer\重复使用产品A.msi
有谁知道这是否可能?
我不确定你喜欢做什么。
但是:您可以使用 robocopy 编写一个 .bat 文件,将 msi 及其文件复制到目标位置,然后启动 .msi。
我需要做同样的事情并最终将 powershell 脚本作为自定义操作折腾。WiX 具有指向正在运行的 .msi 的 [OriginalDatabase] 属性。我只是将它作为参数传递给一个快速脚本,它可以工作。
param(
[string]$MsiLocation
)
echo "Creating directory"
md -Force "C:\directory"
echo "Removing current files"
rm "C:\directory\*"
echo "Copying in new .msi"
cp "$MsiLocation" "C:\directory\"
它并不优雅,但可以完成工作。您可以查看此答案以获取更多详细信息。