簡體   English   中英

安裝項目的最低要求.NET Framework 3.5

[英]Setup Project Minimal Requirement .NET Framework 3.5

總覽

我有一個在.NET Framework 3.5下運行的應用程序。 由於客戶端使用Windows 7(默認:.NET 3.5)和Windows 8 / 8.1(默認:.NET 4.5)。 目前,如果系統上沒有.NET Framework(3.5),則會安裝它。

該應用程序本身能夠在.NET 4.5下運行,因此我想刪除對.NET Framework 3.5的依賴。

問題

在安裝項目中,我必須定義.NET Framework列出且無法刪除的“啟動條件”。 使用3.5版進行配置時,它將在Windows 7上運行,並在Win 8上出現錯誤。當更改為4.5版時,它將在Windows 8上運行,但不能在7版上運行。當我將版本更改為“任何”時,它將在Windows 7上安裝但拋出在Win 8上安裝期間出現錯誤,提示:“錯誤1001 InstallUtilLib.dll。未知錯誤”。

安裝項目如何檢查高於.NET Framework 3.5而不是“ Any”的版本,以及是否必須使用“ Any”使它在Win 8下工作?

細節

我正在將VS2013與“ Visual Studio安裝程序項目”擴展v1.0.0一起使用

解決方案結構:

  • Custom_Action(NET 3.5,x86)
  • MyProject(NET 3.5,x86)
  • SetupProject(屬性“ TargetPlatform”設置為x86)

Custom_Action和MyProject的app.config設置如下: <configuration> <startup> <supportedRuntime version ="v2.0.50727"/> <supportedRuntime version ="v4.0"/> </startup> </configuration>

當我在Win 7上啟動安裝程序時,一切正常。 在Win 8上啟動安裝程序時,我會進入安裝程序的“配置”對話框。 它將因錯誤“錯誤1001 InstallUtilLib.dll。未知錯誤”而停止。

一堆東​​西,不確定是否有特定答案。

沒有“任何”安裝這樣的事情。 您必須為每種架構構建一個:

http://blogs.msdn.com/b/heaths/archive/2008/01/15/different-packages-are-required-for-different-processor-architectures.aspx

因為我認為InstallUtilLib錯誤可能與64位和32位有關。 您的自定義操作由InstallUtilLib.dll調用,並且Dll特定於位數(它位於MSI文件中),因此您不希望任何嘗試進行跨體系結構調用的操作,否則將失敗,因此安裝程序類使用的所有內容都必須也匹配安裝的精確度。 因此,如果您構建了x86安裝程序,則還要使該安裝程序使用的所有代碼和安裝程序類都是32位的。

確保您的VS Installer擴展是最新的-先前的擴展有InstallUtilLib錯誤。

在VS安裝項目中,沒有辦法說“至少這個NET級別”。 我建議確保您沒有跨體系結構調用問題,並修復基本的InstallUtilLib錯誤以使其全部正常工作。 您是否在任何地方張貼了該問題的詳細信息,以查看是否可以解決?

暫無
暫無

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

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