2017-04-22 189 views
6

我有MS Visual Studio中的C#WinForms項目。我添加了一個Visual Studio安裝程序安裝嚮導項目來爲我的應用程序創建一個安裝程序。這是我第一次使用安裝程序項目。如何添加.Net框架先決條件安裝安裝

安裝程序正確具有.Net框架4.5.1的先決條件。不過,我想讓安裝程序包括.Net框架安裝,而不是要求用戶在安裝時單獨下載和安裝(某些用戶的機器沒有互聯網連接)。

我已經設置了先決條件在設置屬性頁「從同一地點爲我的應用程序下載的先決條件」,但是當我建立的設置我看到3個錯誤如下:

ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018 .

鏈接包括並沒有真正的幫助,因爲它指的是ClickOnce安裝。我提到的NDP461 exe,但我不知道該把它放在哪裏。我看到其他一些問題提到使用MS Bootstrapper軟件包管理器創建引導程序包,但是這似乎已經從互聯網上消失了,MS關閉了code.msdn.microsoft,使用apparently no information on a replacement。此外,我可以找到有關此主題的大多數文檔和SO問題都與MSVS的舊版本有關,並且與MSVS 2017無關(至少對我來說不夠直接!)。

我該如何去關於實際獲得安裝項目找到exe?我是否只需要將它放在正確的位置(已經嘗試了幾個在各種MSDN頁面和註冊表項下列出的項目)?或者我需要創建一個引導程序包?如果是後者,是否有最新的文檔在這個過程的某個地方?謝謝!

PS:如果我選擇使用我的開發機器上已安裝的(更新的).Net框架,過程會更簡單嗎? (我猜有可能是已經在機器上安裝的某個地方信息)

更新所以,我想切換到目標.NET 4.6,而不是,下載NDP46-KB3045557-x86的x64的阿洛斯-CHS.exe程序並將其放在目錄C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46中。安裝程序安裝項目現在建立,但給出瞭如下警告(一次,3人):

WARNING: The value of the 'PublicKey' attribute in 'Microsoft .NET Framework 4.6 (x86 and x64)' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX46\NDP46-KB3045557-x86-x64-AllOS-ENU.exe'.

我想這意味着我不應該做這樣?

+0

搜索約3小時後,終於讓我找到你的帖子和解決我的問題。 – Fery

回答

2

剛剛從 This Link

下載NDP461-KB3102436-x86的x64的ALLOS-CHS.exe程序文件,並複製到 C:\ Program Files文件(x86)的\微軟的SDK \的ClickOnce引導程序\軟件包\ DotNetFX461

0

爲Microsoft Visual Studio 2017年正確的文件夾添加的引導程序包是:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\ 

各種可再發行的鏈接。NET包可以在這裏找到與不同的部署選項的信息一起: https://docs.microsoft.com/en-us/dotnet/framework/deployment/deployment-guide-for-developers

錯誤信息給你正確的文件夾添加到包文件夾中。所以文件NDP46-KB3045557-x86的x64的ALLOS-CHS.exe程序應在包被添加到文件夾「DotNetFX46」。

我真的不明白,爲什麼微軟沒有采取措施,使這是一個自動化的過程,或者至少提供關於如何引導包添加到Visual Studio的不同版本的一步一步的指導。這些程序和文件夾多年來一直髮生多次更改。

公鑰錯誤最有可能是由於至少有兩個版本的NDP46-KB3045557-x86-x64-AllOS-ENU.exe文件分佈有相同的文件名,但公鑰不同。檢查此鏈接:https://connect.microsoft.com/VisualStudio/feedback/details/1584164/bootstrapper-packages-have-broken-links-and-wrong-public-keys

相關問題