The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

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 readme2.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 http://go.microsoft.com/fwlink?LinkID=118050 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

 

相關連結