簡體   English   中英

先決條件驗證和安裝C#

[英]Prerequisites validation and installation C#

我開發了一個自定義安裝程序應用程序,因為Visual Studio安裝項目不足以定制以滿足我的需求。 我開發了一個驗證器和一個安裝程序,用於.NET框架,SQL Server等先決條件,但是我無法使用Process.Start啟動一些可執行文件,例如來自.NET框架的可執行文件。

我想知道是否有一個自定義驗證器和安裝程序的先決條件或一個方法來執行先決條件安裝和驗證不同於自己開發:)。

提前致謝。
聖保羅

為什么Process.Start()不適合你呢? 在沒有這些知識的情況下,我只能描述在嘗試啟動.NET安裝程序時遇到的情況。

如果出現UAC對話框 ,請求管理員權限,則無法避免要求用戶單擊它。 在嘗試啟動.NET安裝程序時,任何非提升的安裝過程(包括專業的第三方解決方案)都將遇到UAC對話框。 這是因為.NET安裝程序需要提升管理員令牌才能運行。 你無法解決這個問題。

處理后台UAC對話是我遇到的問題。 它會默默地閃爍,並被那些可能認為安裝程序已經凍結並完全放棄它的用戶所忽視。 我只花了兩周時間研究這個問題。 只有當用戶在安裝程序啟動和UAC對話框出現之間單擊安裝程序窗口外時才會發生這種情況。 這樣做會讓Windows認為用戶想要處理其他事情,並保持他點擊的窗口處於活動狀態。 Windows旨在禁止“焦點竊取”,因此沒有任何官方方法可以“抓住”窗口的焦點(即您的進程啟動的UAC對話框)。

可以安全地假設用戶點擊的窗口不屬於您,因此官方Windows方法(具有焦點的窗口授予您的進程獲取焦點的權限)將不適用於這種情況。 如果msiexec.exe能夠保持其頂級窗口,那么這就好了。

所以在這一點上,如果你遇到我遇到的問題,那么我所知道的並沒有任何簡單的微軟支持的解決方案。

但也許你正在遇到其他事情? 再次,請更新您的問題以及更多詳細信息,以便我們為您提供更好的答案。

正如另一個用戶建議的那樣,無論目標IDE有多好, 更改安裝IDE都是一大步。 盡管我不建議使用Visual Studio來開發MSI文件,但只有當你繼續遇到想要完成的問題時,我才考慮轉移到另一個IDE。 到目前為止,您只描述了要解決的本地化問題,以及可能無法使用其他工具解決的問題。

我強烈建議您查看http://nsis.sourceforge.net/Main_Page 這是一個開源安裝工具,我用它來完成您正在尋找的任務,並且擁有一個重要的社區。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM