小屋創作

日誌2010-12-21 08:58

visual studio封裝cab檔遇到xxxxx.inf contains DirIDs, which are not supported

作者:怪鳥

雖然visual studio 2010已經推出了,但是不少公司因為成本和市場因素仍然是使用2008甚至是2005。其實新的不一定比較好,尤其是程式設計這方面,當有新東西來臨時,就是programer痛苦的時候。像是最近流行iPhone,偏偏台灣會Object-C的人很少。一個合格的programer本來就很難找了,更何況是會Object-C。
扯遠了。最近在撰寫WINODW Mobile的專案,製作安裝檔時(.CAB)一直出現xxxxx.inf contains DirIDs, which are not supported。google了一下發現原來是封裝程式不支援封裝超過262個檔案。262?好奇怪的數字?不是255?
當我們要封裝程安裝檔時,visual studio 2005預設會使用C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools\Cabwiz.exe來封裝程式,2008則使用C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\Cabwiz.exe來封裝程式,兩個檔案版本都是4.0.4332.0。但是如果你有安裝 Windows Mobile 6 SDKs的話,你可以在C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz下發現Cabwiz.exe檔案,版本是4.5.5102.0。經過測試4.5.5102.0是可以封裝超過1000個檔案。

不過這樣還是沒辦法解決中文檔名的問題。

如果你只會使用visual studio來封裝,而不會使用command line,那麼最簡單的辦法。以visual studio 2005為例,將C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools下的Cabwiz.exe、makecab.exe、cabwiz.ddf備份後將C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz下的同檔名三個檔案複製到C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools。接下來就跟原本一樣的作法了。

參考網址:http://blogs.msdn.com/b/raffael/archive/2008/03/18/x-inf-contains-dirids-which-are-not-
supported.aspx

0

0

LINE 分享

相關創作

C# MongoDB Atlas 雲端資料庫建置與教學

碧藍航線 自動戰鬥腳本 v2.2.6杰諾瓦的焰火

肥宅的C#學習紀錄:第一個沒解決成功也沒能解決的BUG

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】