传递 .msi 参数以安装自定义操作

Kev*_*ick 5 c# custom-action setup-deployment visual-studio-setup-proje

我在 Visual Studio 2013 中有一个安装和部署项目,它为我的解决方案创建一个 .msi 安装程序。我还有一个在安装自定义操作中启动的 C# WinForms 应用程序。如果用户从命令行启动 .msi,是否有任何方法可以将命令行参数传递给在安装自定义操作期间运行的应用程序?

我知道我可以使用 CustomActionData 参数提供安装自定义操作应用程序参数,因此我可以以某种方式将其动态设置为 .msi 参数吗?或者有更简单/更好的方法来做到这一点?

任何帮助,将不胜感激。

小智 2

您可以将安装程序类添加到您的应用程序并重写该Install方法。然后就可以访问属性中的命令行参数了Context.Parameters

[RunInstaller(true)]
public class CustomInstaller : System.Configuration.Install.Installer
{
    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
        //this.Context.Parameters contains the command line arguments
    }
}
Run Code Online (Sandbox Code Playgroud)

更多信息可以在文档中找到。