在捆绑链执行结束时运行 PowerShell 脚本
Posted
技术标签:
【中文标题】在捆绑链执行结束时运行 PowerShell 脚本【英文标题】:Run PowerShell script at end of bundle chain execution 【发布时间】:2021-04-06 10:39:46 【问题描述】:我正在使用 Wix Bootstrapper 创建一个 exe 安装程序。
在捆绑链中,我正在安装一些 exe 文件。
最后我想执行一个 PowerShell 脚本来做一些额外的任务。怎么可能
这是捆绑链,我已经提到了我想在哪里执行 PowerShell 脚本。
<Bundle Name="sample" Version="0.0.0.0" Manufacturer="$(var.Manufacturer)" UpgradeCode="fsfsddssdsdsd">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<ExePackage
SourceFile="something.exe"
InstallCommand="/install /quiet /norestart"
PerMachine="yes" >
</ExePackage>
<ExePackage
SourceFile="anything.exe"
InstallCommand="/install /quiet /norestart"
PerMachine="yes" >
</ExePackage>
**EXECUTE POWERSHELL SCRIPT HERE**
</Chain>
</Bundle>
提前感谢您的帮助
【问题讨论】:
【参考方案1】:我现在可以看到两个选项:
-
创建可以处理所有工作的 msi。
您可以按照here 的描述运行 powershell 脚本
-
创建您自己的引导程序应用程序,该应用程序将在安装所有 exe 后运行脚本。我记得这个案子有一个特别的活动。
在这里你可以找到great article about it (C#)。你也可以很容易地找到如何使用 C++。
【讨论】:
MSI 不是一个选项 您能否详细说明选项 2? 我发布了link,并逐步指导如何实现它。只需遵循它)如果您在实施过程中遇到一些问题,我可以提供帮助。但对我来说,msi 看起来更容易实现。以上是关于在捆绑链执行结束时运行 PowerShell 脚本的主要内容,如果未能解决你的问题,请参考以下文章
PowerShell执行脚本时“系统上禁止运行脚本”问题解决
用于在链接服务器上执行 DDL 语句的 Powershell 脚本 - 使用 SSIS 运行时不起作用