青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

開發UAC兼容程序和安裝包

Posted on 2009-08-14 10:23 S.l.e!ep.¢% 閱讀(1253) 評論(0)  編輯 收藏 引用 所屬分類: UAC

大家都知道 VISTA 中的 UAC 機制。很煩,動不動就來個提示。裝軟件也慢慢檢查,慢的要命。有的人干脆把它關掉了事,可是有人卻喜歡用。所以做軟件開發的要兼顧兩種用戶,就必須使其開發的程序能在 UAC 開啟的狀態下能正常的安裝和運行。

言歸正傳,先說說程序要在 VISTA 下運行,開發時應注意的幾個問題

<!--[if !supportLists]-->1.????????????? <!--[endif]-->有注冊表操作時,不要修改HKEY_LOCAL_MACHINE里面的項,而把要寫入注冊表的項,寫到HKEY_CURRENT_USER里面。

<!--[if !supportLists]-->2.????????????? <!--[endif]-->安裝文件到Program Files下,但是不要把程序運行是要修改的文件放到該目錄下,而把程序經常讀寫的文件放到Appdata目錄下 (xp下位于\Documents and Settings\用戶\Local Settings\Application Data)

?

軟件安裝運行,需要權限。下面總結一下提示權限的幾個方法:

<!--[if !supportLists]-->1.????????????? <!--[endif]-->這個方法最簡單:把要安裝或者運行的程序改名,名稱中含有”setup”,”install”,”update”時,VISTA系統會自動提升其權限。

<!--[if !supportLists]-->2.????????????? <!--[endif]-->加上manifest文件。內容是

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

? <assemblyIdentity version="1.0.0.0"

???? processorArchitecture="X86"

???? name="IsUserAdmin"??? <-------- 你的程序名

???? type="win32"/>

? <description>Description of your application</description> <-------- 你的程序描述

? <!-- Identify the application security requirements. -->

? <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

??? <security>

????? <requestedPrivileges>

??????? <requestedExecutionLevel

????????? level="requireAdministrator"???????????? <-------- 權限

????????? uiAccess="false"/>

??????? </requestedPrivileges>

?????? </security>

? </trustInfo>

</assembly>

? 存為 你的程序名.exe.manifest C/C++ 中可以把這個內容嵌入到程序里。嵌入后的程序在 VISTA 中可以看到圖標的右下角有一個小盾牌。具體步驟是,在添加資源時選擇 customer, 編號一定要填 24 ,然后把這個文件貼到里面,把資源的 ID 改為 1. 編譯即可。注意要修改程序名和權限。三種權限 asInvoker ,highestAvailabl, requireAdministrator 這里不具體介紹,網上很多資料。

C#, J# and Visual Basic 里面好像不可以直接把該 XML 文件作為資源文件放到 exe 里面,要用 VS 里帶的工具 mt ( 開始菜單中找 )

具體步驟,進入 VS 的命令提示窗口 ,輸入命令

mt.exe –manifest temp.manifest –outputresource:YourApp.exe;#1 .

即可把該 manifest 加入 exe ,注意 : 該方法對安裝包不起作用。安裝包另有辦法。一會介紹。

?

安裝包的部分問題和解決辦法。

如果安裝包里要寫注冊表,或者注冊 DLL 組件,有可能會權限不夠。我在做的時候遇到的問題是把注冊 dll 的程序(單獨寫的)放到 installsheild 安裝包里調用,權限不夠,這個程序運行的時候,注冊不了組件。給這個小程序加上 manifest 后放到打包文件里面去后,它不運行,不知道為什么。給安裝包改名加上 ”install”/”setup” 都不管用。郁悶了很久,終于找到解決辦法:

?

用小工具 ResHacker <!--[if !vml]--><!--[endif]--> ( 一個可以修改 EXE/DLL 資源的小程序 ) ,打開打包后的文件,找到一個名為 24 的項,打開,之后有為 1 的目錄,點開,右邊就會出現一些腳本,找到

????? <requestedPrivileges>

??????? <requestedExecutionLevel

????????? level=" asInvoker " (就是這里)

????????? uiAccess="false"/>

??????? </requestedPrivileges>

?????? </security>

地方,改為 level="requireAdministrator" 。點編輯腳本,然后文件 à 保存就可以了,

<!--[if !vml]--><!--[endif]-->

在你打開的那個文件目錄里面多了一個文件, youAppName_original.exe是原文件,youAppName.exe是改過的文件。改過的文件放到vista下就可以看到小盾牌了。權限提升成功,這樣運行后,它里面調用的exe就有權限了,可以注冊文件,修改注冊表。

2007年10月8號補充,做安裝包時就可以更改權限了,不需要像上面說的那么麻煩。在InstallShield的打包部分,Installation Designer->Release->Required Execution Level 選擇Administrator就可以了

?

有看不明白的地方,歡迎來信 wangdl5201314@163.com QQ:56320367

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区二区三区久久久久久久久 | 国产亚洲午夜| 亚洲欧美视频在线观看| 一本色道久久综合亚洲精品不卡| 欧美日韩国产色视频| 日韩视频在线观看免费| 亚洲人成小说网站色在线| 久久蜜臀精品av| 91久久一区二区| 日韩视频免费大全中文字幕| 欧美色网在线| 久久成人这里只有精品| 久久精品日韩欧美| 91久久夜色精品国产网站| 99精品视频网| 红桃视频国产精品| 亚洲精品久久久久久久久| 国产精品国产a级| 久色成人在线| 欧美日韩免费视频| 久久久久一区| 欧美日韩亚洲国产一区| 久久精品亚洲精品| 欧美美女bb生活片| 久久精品视频在线观看| 欧美激情精品久久久久| 欧美在线视频一区| 欧美福利视频在线观看| 欧美制服丝袜| 欧美日韩视频在线一区二区观看视频| 午夜视频一区| 欧美日韩国产麻豆| 女人香蕉久久**毛片精品| 国产精品v亚洲精品v日韩精品 | 欧美亚洲一区二区在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 一区二区精品| 蜜臀99久久精品久久久久久软件| 亚洲欧美久久久| 欧美国产日本| 免费观看久久久4p| 国产精品萝li| 99riav1国产精品视频| 在线电影一区| 久久经典综合| 欧美一区在线看| 欧美午夜精品久久久久久人妖| 欧美高清自拍一区| 狠狠色综合日日| 午夜性色一区二区三区免费视频| 亚洲视频一二区| 欧美电影免费| 亚洲国产欧美国产综合一区 | 欧美激情精品久久久六区热门| 久久久五月天| 国产亚洲欧美在线| 性欧美xxxx大乳国产app| 亚洲视频一区二区| 欧美日韩国产影片| 亚洲欧洲精品成人久久奇米网| 亚洲国产日韩欧美综合久久| 久久精品视频免费| 久久久久这里只有精品| 国产情侣久久| 欧美一区视频| 久久青草久久| 伊人久久综合| 六十路精品视频| 亚洲国产精品一区二区第一页| 亚洲第一福利视频| 你懂的国产精品永久在线| 欧美大片国产精品| 亚洲人成人一区二区三区| 欧美成人综合一区| 亚洲精品在线观看免费| 亚洲私人影院| 国产精品日韩欧美大师| 亚洲欧美日韩综合国产aⅴ| 欧美一级视频免费在线观看| 国产日韩在线亚洲字幕中文| 午夜天堂精品久久久久| 久久综合九色综合欧美狠狠| 亚洲国产成人不卡| 欧美日韩国产va另类| 宅男66日本亚洲欧美视频| 性色一区二区| 亚洲电影免费观看高清| 欧美区亚洲区| 亚洲曰本av电影| 美日韩精品视频| 一区二区三区高清视频在线观看| 国产精品久久久久久久午夜| 性8sex亚洲区入口| 亚洲第一级黄色片| 亚洲欧美国产精品va在线观看| 国产亚洲欧美在线| 欧美国产日韩一区二区在线观看| 一本色道久久88亚洲综合88| 久久久久久一区二区| 欧美成人精品h版在线观看| 一区二区成人精品| 国产精品对白刺激久久久| 午夜精品网站| 亚洲国产成人一区| 亚洲自拍啪啪| 亚洲国产精品免费| 国产精品日韩久久久久| 久热爱精品视频线路一| 亚洲一区二区成人在线观看| 欧美成人性网| 欧美在线高清视频| 99国产精品一区| 狠狠色丁香婷婷综合| 欧美日韩一区二区三区在线视频| 欧美一区二区性| 夜夜爽av福利精品导航| 欧美国产先锋| 久久久久久午夜| 亚洲男女自偷自拍| 亚洲精品国产品国语在线app| 国产婷婷色一区二区三区在线 | 亚洲国产精品一区二区www| 欧美在线视频一区二区三区| 一区二区福利| 亚洲另类在线视频| 在线观看久久av| 国产性做久久久久久| 欧美视频一区二区在线观看| 欧美成人小视频| 久久亚洲精品伦理| 欧美中文字幕久久| 亚洲欧美在线磁力| 亚洲一区二区三区激情| 一区二区三区久久久| 亚洲精品黄网在线观看| 亚洲国产精品va在线看黑人动漫| 久久久美女艺术照精彩视频福利播放| 亚洲欧美制服中文字幕| 亚洲午夜精品在线| 一本久久a久久精品亚洲| 亚洲人线精品午夜| 亚洲精品国产精品国自产观看| 亚洲成色www8888| 亚洲电影下载| 亚洲国产成人久久综合| 亚洲第一二三四五区| 亚洲福利视频在线| 亚洲国产精品久久人人爱蜜臀| 尤物九九久久国产精品的分类| 黄色一区二区在线观看| 精品福利av| 91久久精品日日躁夜夜躁欧美| 亚洲国产精品免费| 夜夜精品视频一区二区| 亚洲无线视频| 久久成人精品视频| 免费看黄裸体一级大秀欧美| 欧美成人免费观看| 亚洲日本中文| 亚洲午夜av在线| 欧美在线亚洲一区| 男男成人高潮片免费网站| 欧美精品一区在线观看| 欧美日韩色婷婷| 国产伦精品一区二区三区视频孕妇 | 久久蜜桃精品| 欧美大片国产精品| 国产精品国产成人国产三级| 国产精品综合av一区二区国产馆| 国产亚洲aⅴaaaaaa毛片| 亚洲电影av| 亚洲在线观看视频网站| 欧美一区二区免费| 蜜桃av久久久亚洲精品| 亚洲精品少妇网址| 欧美在线日韩在线| 欧美福利专区| 国产婷婷成人久久av免费高清| 在线欧美电影| 亚洲欧美在线播放| 欧美大片在线看| 一区二区精品在线| 久久亚洲色图| 国产精品黄视频| 亚洲国产精品久久久久婷婷老年| 亚洲免费网站| 欧美激情免费在线| 午夜视频在线观看一区二区三区| 欧美1区3d| 国语精品中文字幕| 亚洲欧美精品一区| 亚洲黄色视屏| 久久久久久久999| 国产精品视频一二| 99成人免费视频| 久久综合九色99| 午夜免费日韩视频| 欧美色大人视频| 91久久精品网| 玖玖玖国产精品|