2011-01-07 12 views
2

終了コード1625は、 "このインストールはシステムポリシーによって禁止されています。システム管理者に連絡してください。msiをプログラムで実行するとmsi終了コード1625に問題が発生する

私は何をやっていることは、このようにそれを呼び出している:私は手動でそれを開いた場合、私は、MSIの罰金を実行することができます

Process installProcess = Process.Start(msiPath, "/quiet"); 

。これはWindowsサーバー2008にあります...

これは、.netフォームプログラムを最新のバージョンに自動的に更新することを目的としています。誰かがこれを引き起こしている設定のどのような手掛かりを持っていますか?つまり、クライアントはVista/7/XPを使用するつもりですが、どのようなセキュリティ設定が私の計画を崩壊させるかを知る必要があります。

答えて

2
ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.Arguments = "/i " + "\""+Directory.GetCurrentDirectory()+"\\"+msiPath +"\"" +" /q"; 
startInfo.FileName = "msiexec.exe"; 
startInfo.Verb = "runas"; 


Process installProcess = Process.Start(startInfo); 

このようにmsiを呼び出すと、このトリックが実行されました。

私はある種のUAC問題であることが判明しました。 runas動詞は、プログラムが持っているパーミッションをどうにか引き上げます。私のUACのプロンプトがサーバ2008で無効になっていたにもかかわらず、私はまだそれを回避するためにこれをしなければなりません..奇妙なハァッ?

関連する問題