簡體   English   中英

使用MSI在我的應用程序中安裝.NET Framework

[英]Installing .NET Framework with my app using MSI

我已經在VS2008中創建了一個安裝項目。 我的WinForms應用程序使用.NET 2.0,因此我選擇了.NET 2.0 Prerequisity並構建了安裝項目。

在干凈的PC上運行Setup.msi時,它可以正確檢測到.NET丟失,並詢問是否應安裝它。 成功安裝.NET之后,安裝程序將退出,而不會繼續安裝我的應用程序(我認為應該如此)。

當我在已安裝.NET的PC上運行MSI文件時,我的應用程序安裝正確。

有什么方法可以一步一步將.NET 2.0和我的應用程序一起安裝嗎?

您是如何安裝產品的?

安裝項目將輸出兩個文件:

  • Windows Installer程序包(.msi),以及
  • 所謂的引導程序(setup.exe)

引導程序將檢查您指定的任何先決條件是否存在,如果尚未安裝,則可能會下載並安裝它,然后繼續安裝您的應用程序 (通過調用.msi)。 因此,您應該始終啟動setup.exe來安裝應用程序,而不是.msi文件(除非您知道所有先決條件都在目標系統上)。

正如Krakkos所說,引導程序將安裝先決條件和您的應用程序(即您的.msi文件)。 但是,我不知道會阻止引導程序安裝msi的任何配置設置。

要進行故障排除,您可以嘗試創建安裝日志並在日志文件中查找任何問題。

感謝Divo,

我正在運行MSI文件。

運行Setup.EXE文件時有什么限制? 如果我正確地記住,我曾經嘗試在Windows 2000上運行它,但是它沒有運行。 我只能運行MSI文件。 我要在帶有干凈Win2000的PC上檢查並返回。

編輯:我已經在干凈的Windows 2000 SP4上嘗試過,這里是結果:

  • Setup.exe將無法運行,並且顯示有關Kernel32.dll中缺少HeapSetInformation的消息
  • Setup.msi也將無法運行(.msi擴展名未知)

然后,我手動安裝了Windows Installer 3.1:

  • Setup.exe仍然不會運行,並顯示相同的錯誤消息
  • Setup.msi將成功運行(但僅安裝.NET而沒有我的應用...我的最初問題)

在Windows XP上,Setup.exe可以正常運行。

使用Win2000的用戶似乎必須先通過安裝Windows Installer 3.1,.NET 2.0和我的應用程序手動安裝我的應用程序。 即使手動安裝.NET,Setup.exe在Win2000 SP4下仍會顯示相同的錯誤消息。

編輯:可以通過安裝Windows 2000 SP4更新匯總1(KB891861)來解決Win 2000問題。

Hanselminutes的這一集非常詳細地介紹了Paint.Net如何安排按需下載和安裝所需的.NET框架,以及與應用程序安裝集成。 誠然,這可能是大多數應用程序所需的更為復雜的方法,但是仍然是一個有趣的討論。

暫無
暫無

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

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