我想創建一個程序,可以安裝用戶選擇的程序(用戶從磁盤選擇安裝程序)。我知道如何使用Process類來運行可執行文件。 但是如何在沒有用戶交互的情況下安裝程序(無提示安裝)?安裝無用戶交互的自定義程序
回答
忘掉它吧。如果您允許任何安裝程序,則無法保證無提示安裝。
但是,如果您知道安裝程序是Installshield安裝程序或Windows安裝程序,則可以使用適當的設置覆蓋某種配置文件以強制執行無提示安裝。
有簡單的方法來檢查安裝程序是否支持它。 @BaconLord檢查我的答案。 – jonathanpeppers
@Jonathan,可能是這樣,但不管怎樣,* no *都保證您可以*隨時*使用* any *安裝程序進行無提示安裝。我認爲這是OP應該理解的第一件事情;一旦他這樣做了,他可以繼續*嘗試*無提示安裝*如果可能* ...您的答案提供了非常好的信息。 – stakx
您計劃運行的安裝程序需要支持靜默安裝。如果他們不這樣做,你將會遇到困難
幸運的是,大多數安裝程序允許與MSI相同的命令行參數。嘗試運行安裝程序programName_installer.exe /?
並查看它是否爲您提供幫助彈出窗口。
Here是MSI命令行選項的列表。 \qn
刪除它的所有UI交互。
,你需要這些設置,以確保沒有控制檯彈出窗口給用戶:
ProcessStartInfo info = new ProcessStartInfo("programName_installer.exe", @"\qn");
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
info.UseShellExecute = false;
info.RedirectStandardError =
info.RedirectStandardOutput = true;
using (Process process = Process.Start(info))
{
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
int exitCode = process.ExitCode;
}
- 1. 微星自定義操作安裝程序狀態交互
- 2. 自定義安裝程序
- 3. 自定義UITableCellView用戶交互
- 4. 通過用戶交互(msi安裝程序)更改INSTALLDIR
- 5. EXE的無人值守安裝(無需用戶交互)
- 6. NLOG:自定義安裝程序
- 7. VS 2010安裝程序自定義languege
- 8. 自定義c#安裝程序類
- 9. 自定義加載項安裝程序
- 10. 自定義Windows安裝程序?
- 11. Firefox自定義擴展安裝程序
- 12. 在IZPack中自定義安裝程序
- 13. 自定義安裝程序鉻
- 14. 自定義ClickOnce安裝程序
- 15. 自定義操作安裝程序
- 16. 選擇用戶自定義安裝
- 17. Web平臺安裝程序 - 自定義Web應用程序安裝UI
- 18. 爲java應用程序創建自定義安裝程序
- 19. 自定義PHP/Apache2安裝程序與Web應用程序
- 20. 使用自定義安裝程序卸載多個程序
- 21. 安裝項目,自定義安裝程序,連接字符串
- 22. 如何禁用自定義視圖中的用戶交互
- 23. boost :: weak_ptr與自定義刪除程序的交互
- 24. 自定義安裝
- 25. 安裝程序和獲取程序無法從Symfony2中的自定義用戶實體訪問
- 26. C#的自定義安裝的應用程序
- 27. NSIS安裝程序 - 定義安裝程序和系統x32/x64
- 28. 如何使用自定義模式等用戶交互AngularJS
- 29. 創建自定義安裝程序作爲程序集
- 30. 創建自定義安裝程序/更新程序
你使用特定的安裝程序,如Installshield的,或Windows Installer( MSI),還是你自己編寫安裝程序代碼? – stakx
我想安裝用戶選擇的任何程序。 例如: 用戶下載「programName_installer.exe」並從我的程序中選擇該exe文件並點擊安裝。現在我想從代碼執行無提示安裝。 – BaconLord