2010-11-04 100 views
1

我需要爲不同的應用程序創建一個簡單的排序安裝程序。該另一個應用程序已經有它自己的簡單安裝程序,我不想幹預它。在VS2010中創建一個「肯定運行」的應用程序/安裝程序

我自己的安裝程序的原因是允許用戶在他選擇的情況下安裝SQL Express,並且還可以預安裝此類過程的任何其他基本要求。

目前,這裏是我在哪裏:
我已經創建了一個單窗口窗體應用程序,用大按鈕(這是一個用戶可能不會很好用電腦)來安裝SQL Server Express(使用具有預定義參數集的靜默安裝)或實際應用程序,以及一些有用的文本讓用戶知道發生了什麼。沿着Visual Studio自動運行窗口的行。
我還爲應用程序(.NET,Windows Installer)添加了標準的預置需求集。

如果我通過使用可執行文件運行應用程序,一切正常。但是,如果我發佈它來創建ClickOnce應用程序(因此必要時會安裝必要的)並運行它,它將停止運行其他安裝程序。

編輯:顯然不能從ClickOnce應用程序運行其他應用程序的問題只在我的一端,並可能值得一個新的問題,不一定在這裏StackOverflow(也許在MSDN論壇?)。

回答

0

我已經解決了「點擊一次」的應用程序。它可以安裝運行所需的所有必需的.NET組件,從而成爲「可以運行的非本機C++代碼啓動屏幕」。

當然,Click Once存在問題,但這遠比沒有好。它也比運行C++或非託管代碼應用程序更好。 ;)

1

在啓動安裝程序之前,您可以檢查.NET是否已安裝。它很容易檢查是否安裝了特定的軟件版本。編寫一個檢查HKEY/LocalMachine/Microsoft/Windows/CurrentVersion/Uninstall的程序,並在該機器上安裝程序列表。如果您發現然後繼續安裝其他建議用戶,他需要安裝預先請求。

當您創建安裝項目時,您可以右鍵單擊安裝項目,轉到屬性,然後單擊預置條件。在那裏你可以提到需要哪個版本的.NET框架,然後給出框架的位置。在這個鏈接看Huggy熊反應eggheadcafe.com/community/aspnet/2/10131905/setup-project.aspx

+1

但是該程序可能無法啓動,因爲它是一個.NET應用程序本身!重點是創建一些SURE工作,因此,如果需要的話,它應該安裝.NET。 – Shaamaan 2010-11-04 12:34:31

+0

爲此,您必須在非託管代碼中編寫安裝程序。你會在msdn上找到它的例子。你可以在這裏看看它。 http://msdn.microsoft.com/en-us/library/ms994395.aspx。在這一點下去創建一個單一的安裝項目來安裝一個.NET Framework應用程序和Dotnetfx.exe – user281693 2010-11-04 12:44:28

+0

請原諒我的無知,但我還是不太明白你的想法。我應該創建一個非託管的代碼應用程序,它將檢查.NET的存在並運行.NET安裝程序(如果它不存在),然後啓動完整的啓動畫面?如果是這樣,那麼我必須承認我絕對沒有技術創建非託管代碼應用程序,但就我的理解而言,Windows Installer將始終運行並安裝任何所需的應用程序。它也可以運行另一個應用程序(這是我迄今爲止大部分時間裏一直在努力的工作:P),而我只是迫使它回滾安裝... – Shaamaan 2010-11-04 13:24:30

相關問題