![](/img/trans.png)
[英]Where to create singleton instance if I don't need this instance in my program?
[英]How do I create a silent install, where I don't need to press the next button?
我正在嘗試靜默安裝我正在下載的.exe。 下載方法無關緊要,因為它與安裝無關。
然而,當它完成下載並且我已經開始了這個過程,而不是按我想要的方式安裝它(不必按下一個按鈕)它只是打開UAC要求管理權限。 當我按YES時,它會打開.exe,我必須手動安裝它。
有沒有辦法以我想要的方式安裝它?
Process process = new Process();
process.StartInfo.FileName = @"C:\PATH\Setup.exe";
process.StartInfo.Arguments = "/quiet";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
默認安裝exe並不容易。 最簡單的方法是使用msi包來實現這一目標。 因此,您必須從exe中提取msi並使用以下參數之一調用它:
在Windows Vista及更高版本上,為了以靜默方式安裝軟件包,安裝包應該提升。 因此,調用setup.exe的父進程必須以管理員身份運行。
如果你想安靜地安裝一個exe,那么你還有很多工作要做。 但這取決於您嘗試安裝的安裝包類型。 找出創建包的安裝程序軟件是什么,然后查找指定給包的文檔。 您需要在文檔中查找允許以靜默方式運行exe的命令行參數(如果可能)。 您還必須確定軟件包是按用戶還是按機器安裝,因為各種權限決定了高程類型。
如果您無法將原始安裝程序打包到MSI中,那么您可以隨時查看Auto IT( https://www.autoitscript.com/site/autoit/ )
AutoIt v3是一種免費的類似BASIC的腳本語言,用於自動化Windows GUI和通用腳本。 它使用模擬擊鍵,鼠標移動和窗口/控制操作的組合,以便以其他語言(例如VBScript和SendKeys)不可能或不可靠的方式自動執行任務。 AutoIt也非常小,獨立,可以在開箱即用的所有Windows版本上運行,不需要煩人的“運行時”!
使用這個你可以玩,並實際上自動點擊“下一步”按鈕,實現你的目標。
如果您的安裝程序是InstallShield,則可以使用以下命令: setup.exe /s /v/qb
用於使用基本MSI UI進行靜默安裝,或使用setup.exe /s /v/qn
進行無任何UI的靜默安裝。 看看這個問題https://stackoverflow.com/a/39047467/5675763這可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.