VS2008 SP1 如何設定讓 .NET 3.5 SP1 內嵌於 Setup 專案內

這兩天都在弄一個 Windows Setup 專案,希望弄得盡善盡美,直到剛剛終於大功告成,但當我想將 .Net Framework 3.5 SP1 的安裝檔也加入到我的 Setup 專案時(如下圖),卻發現專案無法編譯。

Visual Studio 2008 SP1 : Prerequisites

錯誤訊息如下:

The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetMSP\x86\NetFX3.0-KB936705-v6000-x86_RTM_en.msu' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.

解決的方式如下:

  1. 先取得 .NET Framework 3.5 Service Pack 1 (Full Package)  ( 231 MB )
  2. 再根據 Visual Studio 2008 SP1 readme 的 2.3.1. General Issues 章節進行修正即可!

由於中文版的 Visual Studio 2008 SP1 讀我檔案 文件品質有問題,照著做很容易做錯,因此修正的流程補充說明如下:

  1. 先找到 [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1 目錄,若是 x64 架構 [Program Files] 請替換成 C:\ProgramFiles(x86)
  2. 用「記事本」開啟該目錄下的 Product.xml 文件
  3. 將以下片段插入到 <PackageFiles CopyAllPackageFiles="IfNotHomeSite"> 這行下方:
  4.         <PackageFile Name="TOOLS\clwireg.exe" />
            <PackageFile Name="TOOLS\clwireg_x64.exe" />
            <PackageFile Name="TOOLS\clwireg_ia64.exe" />
  5. 找到 <PackageFile Name="dotNetFX30\XPSEPSC-x86-en-US.exe" 這行與 <PackageFile Name="dotNetFX30\XPSEPSC-amd64-en-US.exe" 這行,並將這兩行的 PublicKey 原本的值改成以下的值 ( 請注意複製的時候不要複製到空白字元 ):
  6. 將 Product.xml 存檔。
  7. 將已下載的 .NET Framework 3.5 Service Pack 1 (Full Package) 解壓縮到任意暫存目錄,解壓縮的方法必須透過指令執行。
    dotNetFx35.exe /x:.
  8. 解壓縮後,該目錄會多出一個 WCU 目錄,在裡面又會有一個 dotNetFramework 目錄,請將 WCU\dotNetFramework 目錄下所有的目錄與檔案都移至 [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1 目錄下。
    完成後的圖示如下:
     解壓縮後,該目錄會多出一個 WCU 目錄,在裡面又會有一個 dotNetFramework 目錄,請將 WCU\dotNetFramework 目錄下所有的目錄與檔案都移至 [Program Files]\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1 目錄下
  9. 如上圖標紅框的部分是 語言包(Language Pack) 的部分,各位在 Visual Studio 2008 SP1 讀我檔案 的 2.3.1. 一般?? 章節裡也可以下載的到,照著目錄放置下載後的檔案即可。

    以下列出所有語言包的下載連結:
    語系 架構 下載連結 檔案放置目錄(相對路徑)
    Chinese
    (Simplified)
    x86 http://go.microsoft.com/fwlink?LinkID=118146 zh-CHS\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118151 zh-CHS\DotNetFX35\x64
    Chinese
    (Traditional)
    x86 http://go.microsoft.com/fwlink?LinkID=118087 zh-CHT\DotNetFX35\x86
    x64 https://dotnet.microsoft.com/en-us/download/dotnet-framework zh-CHT\DotNetFX35\x64
    English x86 N/A N/A
    x64 N/A N/A
    French x86 http://go.microsoft.com/fwlink?LinkID=118148 fr\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118153 fr\DotNetFX35\x64
    German x86 http://go.microsoft.com/fwlink?LinkID=118149 de\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118154 de\DotNetFX35\x64
    Italian x86 http://go.microsoft.com/fwlink?LinkID=118097 it\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118115 it\DotNetFX35\x64
    Japanese x86 http://go.microsoft.com/fwlink?LinkID=118096 ja\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118114 ja\DotNetFX35\x64
    Korean x86 http://go.microsoft.com/fwlink?LinkID=118147 ko\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118152 ko\DotNetFX35\x64
    Portuguese
    – Brazil
    x86 http://go.microsoft.com/fwlink?LinkID=118092 pt-BR\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118110 pt-BR\DotNetFX35\x64
    Russian x86 http://go.microsoft.com/fwlink?LinkID=118090 ru\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118108 ru\DotNetFX35\x64
    Spanish x86 http://go.microsoft.com/fwlink?LinkID=118101 es\DotNetFX35\x86
    x64 http://go.microsoft.com/fwlink?LinkID=118119 es\DotNetFX35\x64


    以 Chinese (Traditional) 為例,檔案下載後的目錄結構會變成以下這樣:
    C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX35SP1\zh-CHT\DotNetFX35\x86

 

相關連結

  • Additional Bootstrapper Packages to Redistribute Components Using Visual Studio Setup Projects and Clickonce Applications

留言評論