以编程方式更改默认安装文件夹以进行安装

时间:2012-01-04 15:15:03

标签: c# visual-studio-2010 setup-deployment

在WinForms应用程序的标准安装项目中,我想以编程方式更改默认安装文件夹(即在安装时执行此操作)。

有办法做到这一点吗?我认为使用自定义安装程序类可能会对此有所帮助,但是当它到达该类中的任何自定义操作时,安装文件夹已经被选中。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。这是我的解决方案。 我创建了一个名为Win msi intaller的附加项目,并将TARGETDIR属性的值添加为参数。

    static void Main()
    {
            Process setupProcess = new Process();
            string msiFilePath = @"c:\path to msi package";
            string targetDir = @"target dir path";
            setupProcess.StartInfo.FileName = @"msiexec.exe /i " + msiFilePath + " TARGETDIR=\"" + targetDir + "\"";
            setupProcess.StartInfo.UseShellExecute = false;    
            setupProcess.Start();
   }

然后你应该运行这个程序来安装你的msi包。