が、私はコードをMSIをインストールしようとしていますスロー、と私は、このソリューションに出くわした Programatically installing MSI packagesInstaller.InstallProductは例外
コード:
public static void Install()
{
try
{
Type type = Type.GetTypeFromProgID("WindowsInstaller.Installer");
Installer installer = (Installer)Activator.CreateInstance(type);
installer.InstallProduct("D:\\Applications\\TortoiseSVN-1.9.3.27038-x64-svn-1.9.3", "ACTION=INSTALL");
}
catch(Exception e)
{
Utilities.showErrorMessageBox(e.Message);
}
}
私が手に例外はないこの説明のメッセージがあります:{」 InstallProduct、PackagePath、PropertyValues "}
私はそれをどのようにして作るのか分かりません。私はPropertyValuesのいろいろな組み合わせも試したが、役に立たなかった。
誰かがこのエラーの原因を説明できますか?
EDIT以下の作品を使用して
:
System.Diagnostics.Process.Start("D:\\Applications\\TortoiseSVN-1.9.3.27038-x64-svn-1.9.3.msi");
ので、この方法は、インストーラを使用してのように細いのですか?
私は、最初のコードがファイルパスに ".msi"を持っていないことに気付きましたか? –
はい私はそれを逃しましたが、パス内に.msiを追加した後も同じ例外が発生します –
インストールを開始するためにインストーラAPIを使用したことは一度もありません。私はちょうどあなたがしたようにProcess.Startを使用してmsiを実行しますが、私は使用することをお勧めします:msiexec.exe/i –
yossiz74