我開發了一個自定義安裝程序應用程序,因爲Visual Studio安裝項目沒有足夠的可自定義以滿足我的需求。 我開發了一個驗證程序和.NET Framework,SQL Server等先決條件的安裝程序,但是我無法使用Process.Start從.NET框架啓動一些可執行文件。先決條件驗證和安裝C#
不知知道是否有一個自定義的驗證和安裝程序的先決條件或方式做的先決條件安裝和驗證不同開發一個自己:)。
在此先感謝。
Paulo
我開發了一個自定義安裝程序應用程序,因爲Visual Studio安裝項目沒有足夠的可自定義以滿足我的需求。 我開發了一個驗證程序和.NET Framework,SQL Server等先決條件的安裝程序,但是我無法使用Process.Start從.NET框架啓動一些可執行文件。先決條件驗證和安裝C#
不知知道是否有一個自定義的驗證和安裝程序的先決條件或方式做的先決條件安裝和驗證不同開發一個自己:)。
在此先感謝。
Paulo
我強烈建議你看看http://nsis.sourceforge.net/Main_Page。這是一個開源的安裝工具,我用它來完成你正在尋找的任務,並且有一個重要的社區。
爲什麼Process.Start()不適合你?在缺乏這些知識的情況下,我只能描述在嘗試啓動.NET安裝程序時遇到的情況。
如果UAC對話框出現,請求管理員權限,則無法避免要求用戶點擊它。任何非高級安裝過程(包括專業的第三方解決方案)在嘗試啓動.NET安裝程序時都會遇到UAC對話框。這是因爲.NET安裝程序需要提升管理員令牌才能運行。你無法解決這個問題。
與背景UAC對話框打交道是我遇到了什麼。它會默默地閃爍,被可能被認爲安裝程序凍結並完全放棄的用戶忽略。我剛剛在這個問題上花了2周的時間。只有當用戶在安裝程序啓動和UAC對話框出現之間點擊安裝程序窗口時纔會發生。這樣做會使Windows認爲用戶想要處理其他事情,並保持他點擊的窗口處於活動狀態。 Windows旨在禁止「盜取焦點」,所以沒有任何官方的方式可以爲您的窗口「抓取」焦點(例如,您的過程開始的UAC對話框)。
假設您的用戶點擊的窗口不屬於您,所以官方的Windows方法(具有焦點授權權限的流程以獲取焦點)不適用於這種情況。如果msiexec.exe有能力保持其頂級窗口,這將是很好的地方。
所以在這一點上,如果你遇到我遇到了什麼,然後有沒有給它任何簡單和微軟支持的解決方案,據我所知。
但是也許你遇到了別的?再次,請更新您的問題與更多的細節,所以我們可以給你一個更好的答案。
正如另一位用戶所建議的,更改安裝IDE無論目標IDE有多好,都是一大步。儘管我不推薦使用Visual Studio來開發MSI文件,但我會考慮只有在您要完成自己想要完成的任務時遇到問題時,才能轉移到其他IDE。但是,到目前爲止,您只描述了需要解決的本地化問題,並且可能無法使用其他工具解決問題。
爲什麼你無法啓動安裝程序?您沒有選擇現有的安裝程序工具(如WiX或NSIS)的原因是什麼? – 2010-10-29 14:37:57