日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vc2008不安装vcredist发布程序

發布時間:2023/12/14 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vc2008不安装vcredist发布程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.sina.com.cn/s/blog_8378e25b010142w7.html


vc2008不安裝vcredist發布程序

(2012-05-18 15:29:37) 轉載
標簽:

雜談

分類: VC
以前一直用vc6,不是喜歡他什么,最重要的一點是用它發布程序方便,搬到別處的電腦幾乎不會出現什么問題。而vc9發布程序,很容易出現程序配置錯誤等問題而無法運行,導致的原因是與環境dll有關,找了很久終于找到很詳細的解答,以下是地址
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 | 會員注冊 | 產品答疑

      新浪公司 版權所有

      X 選擇其他平臺 >> 分享到
      • 含“”的博文
      • 含“”的博主
      • 含“”的音樂
      • 含“”的視頻
      最近喜歡了的博主: 加載中…
      • Qing
      • 博客
      • 轉載原文
      • 采編
      • 長微博
      為了您的賬號安全,請綁定郵箱 分享到新浪Qing 分享到新浪微博 幻燈播放 分享到X 騰訊微博 一鍵通 新浪微博 QQ空間 搜狐微博 新華微博 手機 網易微博 開心網 豆瓣網 手機快傳 人人網 天涯 鳳凰微博 朋友網 微信 QQ好友 更多平臺... (133) bShare

      總結

      以上是生活随笔為你收集整理的vc2008不安装vcredist发布程序的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。