ClickOnce部署出現 系統必備的安裝位置未設置爲組件供應商的網站,無法在磁盤上找到 dotNetFx40LP_Client_x86_x64cs.exe 問題的解決方案

      當我們使用簡體中文或繁體中文版本的 Visual Studio 2010 發佈應用程序時,如果在“系統必備”對話框中選中“從與我的應用程序相同的位置下載系統必備組件”選項,並選擇以下任何組件作爲系統必備組件,可能會顯示生成錯誤:

 

1.Microsoft .NET Framework 4(x86 和 x64)
2.Microsoft .NET Framework 4 Client Profile(x86 和 x64)
3.Microsoft Visual F# Runtime for .NET 2.0
4.Microsoft Visual F# Runtime for .NET 4.0

 

      對於“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”系統必備項,系統可能會顯示下面的生成錯誤:

 

“MSB3152: 系統必備的安裝位置未設置爲‘組件供應商的網站’,無法在磁盤上找到項‘Microsoft .NET Framework 4 Client Profile (x86 和 x64)’中的文件‘DotNetFX40Client/dotNetFx40LP_Client_x86_x64cs.exe’。 有關詳細信息,請參見‘幫助’。”

 

      這是由於可再發行語言包的位置不正確或缺失導致的 ClickOnce 發佈失敗。

 

      下面我們就以“Microsoft .NET Framework 4 Client Profile(x86 和 x64)”爲例,其它三個也需要依葫蘆畫瓢。另外,如果選了Microsoft .NET Framework 4(x86 和 x64),就不需要再勾選 Microsoft .NET Framework 4 Client Profile(x86 和 x64)了,它們之間應該是整體與部分的關係。

 

1.導航到文件夾“%ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client”。 對於 x64 操作系統,該路徑位於 %ProgramFiles(x86)% 下。
2.若使用的簡體 VS2010,則創建新文件夾,命名爲 zh-chs;若是繁體的,則新文件夾名爲 zh-cht。
3.若使用的簡體 VS2010,將 zh-Hans 文件夾內的文件複製到 zh-chs 文件夾內;若是繁體的,則複製 zh-Hant 文件夾內容到 zh-cht。
4.在管理員模式下打開 Package.xml。
5.若使用的簡體 VS2010,找到 <String Name=”Culture”>zh-hans</String>,並將 zh-hans 改爲 zh-chs;若是繁體的,則替換 zh-Hant 爲 zh-cht。

 

      完成上面的修改後,再發布程序。OK了?那你很幸運!

 

      還報錯,提示未能找到文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client/cs/dotNetFx40LP_Client_x86_x64cs.exe”。

恭喜你,幸運仍然伴你左右,因爲下面就有解決的辦法。如果不是類似的錯誤,那你就要做好思想準備了,Good luck! bye bye.

 

      言歸正傳,也許你已經注意到了,在 Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX40Client 文件夾中有許多文件夾,多是以簡單的幾個字母命名,其實他們對應各國的語言包,文章的最後列出了常見的國名與縮寫對照表,cs 是指捷克,上面的錯誤實際是因爲缺少捷克的語言包造成的(1搞不懂發佈簡繁體的程序爲什麼需要捷克的語言包)。

 

      接下來我們打開 cs 文件夾中的 Package.xml 文件,找到 DotNetFX40ClientLanguagePackBootstrapper 元素,其值是 http://go.microsoft.com/fwlink/?linkid=164196&amp;clcid=0x405,這就是下載捷克語言包的地址,不用試了,下不了的,微軟做了處理,會自動定向下載請求者所在國家的語言包(2搞不懂,既然有了自動重定向,幹嗎還要提供不同的地址)。

 

      讓我們繼續吧,別再管什麼語言包了,發佈簡繁的中文程序不需要其它國家的語言,VS 2010 要,那就給它的假的,走形勢而已,把 zh-chs 文件夾裏的中文語言包複製一個到 cs 文件夾,並重命名爲 dotNetFx40LP_Client_x86_x64cs.exe。如果你是一個"正直的人",看不慣弄虛做假這一套,可以到這裏下載正版的捷克語言包。好了,現在去發佈程序,應該沒什麼問題了,再有問題也不是這個帖子的事了。


國家語言包與縮寫對照,沒什麼實際用處,看看得了

阿拉伯 ar
波蘭 pl
丹麥 da
德語 de
俄語 ru
法語 fr
芬蘭 fi
韓語 ko
荷蘭 nl
捷克 cs
挪威(博克馬爾) no
葡萄牙 pt-BR
葡萄牙 pt-PT
日語 ja
瑞典 sv
土耳其 tr
西班牙 es
希伯來 he
希臘 el
匈牙利 hu
意大利 it
中文(繁) zh-Hant
中文(簡) zh-Hans

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