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