Измените папку установки по умолчанию программно для установки - PullRequest
1 голос
/ 04 января 2012

В стандартном проекте установки для приложения WinForms я хотел бы программно изменить папку установки по умолчанию (т.е. сделать это при установке).

Есть ли способ сделать это? Я думал, что использование пользовательского класса Installer может помочь мне с этим, но кажется, что к тому времени, когда он добирается до любых пользовательских действий в этом классе, папка установки уже выбрана.

1 Ответ

2 голосов
/ 04 января 2012

У меня была такая же проблема. Вот мое решение. Я создал дополнительный проект, который называется 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.

...