Is it possible to register environment variables in Setup Wizard project?

前端 未结 4 1934
暖寄归人
暖寄归人 2020-12-20 15:36

I am creating a Visual Studio 2008 Setup Wizard for my program
http://support.microsoft.com/kb/307353
I see that it is possible to add registry entries, etc.. Is the

4条回答
  •  暖寄归人
    2020-12-20 16:24

    Ickydime (see answers above) custom action sample shows how to add an environment variable by expanding the PATH env variable. I'm sharing below how to create a new environment variable using Environment.SetEnvironmentVariable

        string environmentKey = "MY_VAR";
        string pathUrl = "%ProgramFiles%\\...";
        public Installer1()
        {
            InitializeComponent();
        }
    
        [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
        public override void Install(IDictionary stateSaver)
        {
            base.Install(stateSaver);
        }
    
        [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
        public override void Commit(IDictionary savedState)
        {
            base.Commit(savedState);
            Environment.SetEnvironmentVariable(environmentKey, pathUrl, EnvironmentVariableTarget.Machine);
        }
    
        [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
        public override void Rollback(IDictionary savedState)
        {
            base.Rollback(savedState);
        }
    
        [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
        public override void Uninstall(IDictionary savedState)
        {
            base.Uninstall(savedState);
            Environment.SetEnvironmentVariable(environmentKey, null, EnvironmentVariableTarget.Machine);
        }
    

提交回复
热议问题