選擇 NET Framework 3.5 SP1 系統必備,ClickOnce 發佈提示缺少文件的解決方案

      ClickOnce 發佈,在系統必備中勾選了 .NET Framework 3.5 SP1,並選擇了"從與我的應用程序相同的位置下載系統必備組件"時,執行發佈,會提示缺少很多文件,答案就在下面。

 

      首先我們需要 framework 3.5_SP1 安裝包,可以到下面的地址下載


http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

 

      把它解壓,導航到 framework 3.5_SP1/wcu/dotNetFramework/ 文件夾,將其中的 dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP 文件夾和文件 dotNetFx35setup.exe 複製到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1 目錄中,對於 x64 操作系統,該路徑位於 %ProgramFiles(x86)% 下。

 

      這時執行發佈,會提示如下錯誤:

 

系統必備組件的安裝位置未設置爲“組件供應商的網站”,並且無法在磁盤上找到項“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。有關詳細信息,請參見幫助。

 

      按照提示,我們去下載需要的文件,地址如下:


http://www.microsoft.com/downloads/details.aspx?familyid=8489ED13-B831-4855-96F7-DD35E4C02A20&displaylang=zh-cn

 

      這裏我們只需要下載 dotnetfx35langpack_x64zh-CHS.exe 和 dotnetfx35langpack_x86zh-CHS.exe 即可,因爲發佈只提示缺少這兩個文件。

 

=======如果你急着發佈,這段可以忽略=======
      下載完成後,將他們放到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/DotNetFX35/ 目錄對應的文件夾內,dotnetfx35langpack_x64zh-CHS.exe 放 x64,dotnetfx35langpack_x86zh-CHS.exe 放 x86。

 

      以爲一切正常了,執行發佈,仍然報錯,這是怎麼回事兒?Google了半天,在這個帖子(http://blog.csdn.net/hhxshhxs88/archive/2009/07/25/4379621.aspx)裏找到了解決辦法,下面是具體操作,與此帖不同的是,我沒有創建 zh-chs 文件夾。
==========================================

 

      導航到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/zh-Hans 目錄,新建一個文件夾,命名爲 dotNetFX35,在 dotNetFX35 文件夾內建立兩個子文件夾,分別命名爲 x86 和 x64,然後把剛纔下載的文件拷到相應的子目錄中。

 

      再去發佈,這回應該沒有錯誤了。

 

********以下內容僅供吹毛求疵者參考********
      但是還有兩個警告,類似如下的提示:

 

“.NET Framework 3.5 SP1”中“PublicKey”特性的值與文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/dotNetFX30/XPSEPSC-x86-en-US.exe”的該特性值不匹配。

 

      這是因爲 XPSEPSC-x86-en-US.exe 的 publicKey 與 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/product.xml 文件中標記的 publicKey 不同造成的。要想消除警告,我們需要手工幫它匹配上。

 

      首先,定位到錯誤提示的文件,然後右鍵→屬性→數字簽名,如圖所示:

 

      在“簽名列表”中選擇簽名,然後點“詳細信息”,彈出窗口如圖所示:

 

      在窗口中點“查看證書”,在彈出窗口中選擇“詳細信息”卡片,在下面的列表中選中“公鑰”,如圖所示:

 

      然後把公鑰對應的編碼拷貝到記事本,將其中的空格替換掉。最後,我們打開 product.xml 文件,查找 XPSEPSC-x86-en-US.exe,將其對應的 publicKey 替換成剛纔處理好的字符串就 OK 了。
*****************************************

 

另附

 

      當選擇".NET Framework 3.5 SP1 Client Profile"系統必備,發佈時會提示找不到 DotNetFx35ClientSetup.exe,大家可以通過下面的地址下載,然後拷貝到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFx35Client 目錄即可成功發佈。

 

http://www.microsoft.com/downloads/details.aspx?FamilyID=8cea6cd1-15bc-4664-b27d-8ceba808b28b&displaylang=zh-cn

 

注意:DotNetFx35ClientSetup.exe 是 Client Profile 基於 Web 的安裝程序,需要通過 Internet 連接下載和安裝。

發佈了56 篇原創文章 · 獲贊 19 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章