2012-01-04 128 views
1

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

有没有办法做到这一点?我认为使用一个自定义的安装程序类可能会帮助我,但它看起来到了该类中的任何自定义操作时,安装文件夹已被选中。

+0

是你正在使用自定义安装程序..你有没有看过为您的C#winForms应用程序创建.MSI项目.. – MethodMan 2012-01-04 15:18:56

+0

是的 - 我创建了一个MSI项目。我想在安装程序运行时以编程方式**自定义默认安装位置。 – Fernando 2012-01-04 15:23:53

+0

我创建了System.Configuration.Install.Installer的子类 – Fernando 2012-01-04 15:24:34

回答

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包。

相关问题