vc2008不安装vcredist发布程序
http://blog.sina.com.cn/s/blog_8378e25b010142w7.html
vc2008不安裝vcredist發布程序
(2012-05-18 15:29:37) 轉載▼標簽: 雜談 | 分類: VC |
http://blog.csdn.net/xiaojianpitt/archive/2009/06/15/4269641.aspx
vc2008程序發布指南2008-05-03 17:46vc2008開發的程序的發布方式可以有5種方式:
1. 采用靜態鏈接到crt和MFC. 只要你擁有組成程序的所有源代碼,你就可以采用這種方式,
這種方式除了程序變大一點,好處多多:
1) 不必重新發布vc2008基礎庫vcredist_x86.exe(安裝到WinSxS).
2) 不必產生,嵌入manifest.
3) 也不把vc2008基礎庫放在程序所在目錄.
2. exe(嵌入manifest) + vcredist_x86.exe
?? 確保程序正確產生并嵌入manifest文件,然后把程序和vcredist_x86.exe一起發布.用戶先安裝
vcredist_x86.exe(安裝到WinSxS),然后程序就能正常運行了.
3. exe(嵌入manifest) + 用到的基礎庫文件放到程序目錄(包括庫文件本身的manifest文件)
?? 確保程序正確產生并嵌入manifest文件,然后把程序用到的vc2008基礎庫相關文件復制到程序
所在目錄,這種方式適用于用戶沒有安裝過vcredist_x86.exe,一旦用戶安裝過vcredist_x86.exe,
若WinSxS中的相關文件遭到破壞,那么即使在程序目錄放上所有用到的vc2008基礎庫,程序也跑
不起來;若WinSxS中的相關文件正常,那么程序目錄下的相關文件就是多余的了,刪掉它們程序也能
正常運行.
4. exe(自行編寫manifest) + vcredist_x86.exe
5. exe(自行編寫manifest) + 用到的基礎庫文件放到程序目錄(包括庫文件本身的manifest文件)
個人偏向第五的方法在vc2008中,工程屬性可以設定manifest是不是嵌入到文件,經過測試,在沒有安裝vcredist的xp系統上,將基礎庫文件放到程序目錄就行了,當然要包括庫文件的manifest。而不嵌入manifest的好處就是第三點說到的。因為程序會優先檢測winsxs的,如果里面存在卻是錯誤的,導致程序跑不起來,那么如果不將manifest內嵌,就一定能保障程序能找到正確的配置文件和相關的庫文件。
舉個例子:
一個程序只用CreateWindow來創建一個窗口和一個按鈕
在項目屬性->清單工具->輸入輸出? 中將清單嵌入設為否,那樣就會幫你生成manifest文件而不會將它嵌入
然后,在鏈接器->清單文件->附加清單依賴項 中加入
type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'
這樣,通用控件就能使用系統的主題樣式。
編譯程序后,除了程序文件xxx.exe和xxx.exe.manifest外,到VC\redist中找到相應的dll和manifest
這個程序就需要msvcp90d.dll msvcr90d.dll msvcm90d.dll 和 Microsoft.VC90.DebugCRT.manifest
因為這是調試版本,所以基礎庫都是msvc...d.dll
Release版本就找對應的版本和manifest就可以了。
注意,如果程序跑不起來,看看程序的manifest文件中指定的基礎庫版本和復制過來的dll文件版本是否一致。
分享: 分享到新浪Qing
0
喜歡
閱讀(389)┊ 評論 (0)┊ 收藏(0) ┊轉載(0) ┊ 喜歡▼ ┊打印┊舉報| 排行榜 圈子 |
轉載列表:
轉載是分享博文的一種常用方式...
前一篇:VC++?中CComboBox的默認值怎么設置 后一篇:串口測試工具使用說明(Portmon) 評論 重要提示:警惕虛假中獎信息 | [發評論]- 做第一個評論者吧! 搶沙發>>
登錄名: 密碼: 找回密碼 注冊 記住登錄狀態
昵???稱:
分享到微博 ???評論并轉載此博文
驗證碼: 請點擊后輸入驗證碼 收聽驗證碼
匿名評論 發評論以上網友發言只代表其個人觀點,不代表新浪網的觀點或立場。
<?前一篇VC++?中CComboBox的默認值怎么設置 后一篇?>串口測試工具使用說明(Portmon)新浪BLOG意見反饋留言板 不良信息反饋 電話:4006900000 提示音后按1鍵(按當地市話標準計費) 歡迎批評指正
新浪簡介 | About Sina | 廣告服務 | 聯系我們 | 招聘信息 | 網站律師 | SINA English | 會員注冊 | 產品答疑
Copyright ? 1996 - 2013 SINA Corporation, All Rights Reserved
新浪公司 版權所有
X 選擇其他平臺 >> 分享到- 含“”的博文
- 含“”的博主
- 含“”的音樂
- 含“”的視頻
- Qing
- 博客
- 轉載原文
- 采編
- 長微博
總結
以上是生活随笔為你收集整理的vc2008不安装vcredist发布程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rails-redis hgetall
- 下一篇: 【解析】.NET中代理服务器WebPro