2010-09-02 23 views
6

我試圖使用的MSBuild GenerateBootstrapper任務分配與框架.NET應用程序,而不需要網絡連接來安裝它。如何使用msbuild引導.NET 3.5 SP1?以下指導內容,不工作

我發現很多帖子,所有導致同樣的指示在這裏:

Enable Samesite for the .NET Framework 3.5 SP1 bootstrapper

下面的說明後,我仍然無法生成引導程序。我可以看到的更明顯的問題是,從dotNetFx35.exe中提取文件不會提取與自述文件中顯示的文件和文件夾相同的列表(例如TOOLS文件夾不存在)。

我在做什麼錯?我遵循舊的指示嗎?

的MSBuild錯誤如下:

C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_x64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_ia64.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-x86-en-US.exe'. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): warning MSB3165: The value of the 'PublicKey' attribute in '.NET Framework 3.5 SP1' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1\dotNetFX30\XPSEPSC-amd64-en-US.exe'. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX2.0-KB948609-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX3.0-KB948610-v6001-x86.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX2.0-KB948609-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x64\NetFX3.0-KB948610-v6001-x64.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. 

任何幫助將非常感激!

回答

4

我已經解決了問題。 Microsoft的文檔提供的用於下載完整.NET Framework 3.5 SP1的鏈接不正確。 .NET Framework 3.5 SP1 full install package的軟件包內有預期的文件。

+1

我發現除了在Mohsen中提到的3.5SP1修復程序,還需要在Microsoft SDK \ Windows \ v7.0A \ Bootstrapper \ Packages文件夾中包含DotNetFX35和DotNetFX35SP1 – volody 2013-02-04 19:14:18

2

看看這個

您好所有,

讓我流下了在這個問題上的一些情況。

仍在調查爲什麼實際文件 的 公鑰令牌是比我們在 product.xml文件不同。不用說,儘管我們的 測試, 滑落。你有我的道歉 那。

的好消息是,引導程序 工作得很好過這種情況。 當我們建立,我們比較的 product.xml或package.xml中列出的文件在磁盤上的 公鑰的數字簽名 。如果他們的 不同,那麼我們使用磁盤上實際文件的值 ,因爲這個 是將在「與我的應用程序相同的位置」 方案中複製和/或發佈 的內容。這樣,引導程序 正常工作。

我們確實展示了構建警告,以提醒 開發人員/構建器 與預期不符。這 具有價值的情況下 「從 組件供應商的網站下載」,因爲如果該文件正在從組件供應商下載 相同 的磁盤上,然後下載將 失敗證書考試並獲得」 t 安裝。幸運的是,在這種情況下, 在那種情況下只有 dotnetfx35setup.exe文件實際上是 從微軟下載,並 關鍵是正確的。

如果你想擺脫構建 警告,你可以在Product.XML與 下面的值更新 公鑰: 3082010A0282010100A2DB0A8DCFC2C1499BCDAA3A34AD23596BDB6CBE2122B794C8EAAEBFC6D526C232118BBCDA5D2CFB36561E152BAE8F0DDD14A36E284C7F163F41AC8D40B146880DD98194AD9706D05744765CEAF1FC0EE27F74A333CB74E5EFE361A17E03B745FFD53E12D5B0CA5E0DD07BF2B7130DFC606A2885758CB7ADBC85E817B490BEF516B6625DED11DF3AEE215B8BAF8073C345E3958977609BE7AD77C1378D33142F13DB62C9AE1AA94F9867ADD420393071E08D6746E2C61CF40D5074412FE805246A216B49B092C4B239C742A56D5C184AAB8FD78E833E780A47D8A4B28423C3E2F27B66B14A74BD26414B9C6114604E30C882F3D00B707CEE554D77D2085576810203010001

將此用於兩個XPSEPSC * 文件。

我希望這有助於澄清事情,我們會繼續 後續行動。感謝您報告 這個,它會幫助我們讓更多的人 免受這種情況的影響。

真誠,

戴維·蓋爾項目經理 - 設置 項目的Visual Studio

-1

1對於VS2015,這裏是一個解決方案:

  1. 這裏下載安裝程序: http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

  2. 提取物/與7zip的或WinRAR和提取contence到一個文件夾

  3. 複製/移動提取的文件夾下的 「WCU \ dotNetFramework」 路徑上的一切以開放:

C:\ Program Files文件(86)\微軟的Visual Studio 14.0 \ SDK \引導程序\軟件包\ DotNetFX35SP1

  • 發佈在VS2015
  • +0

    推斷引用的文件夾應該是Microsoft Visual Studio 14.0而不是Microsoft Visual Studio 4.0,我測試了這個沒有成功。下載的文件與Visual Studio 2015提供的完全一致。在構建時消失了以下警告並重新出現在Publish上:「.NET Framework 3.5 SP1」中'PublicKey'屬性的值與文件'C:\ Program文件(x86)\ Microsoft Visual Studio 14.0 \ SDK \ Bootstrapper \ Packages \ DotNetFX35SP1 \ dotNetFX30 \ XPSEPSC-x86-en-US.exe'。 – BillVo 2016-11-01 15:38:11