精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品原创文章,禁止转载和任何形式的非法内容使用,违者必究
最近完成了word2003下软件不能启动问题的解决,是和权限及安全开发相关,所以想聊聊权限和安全开发经验。
权限和安全随着Windows升级,也成为了棘手的问题,对于病毒和木马,权限和安全的严格会有好处,但是也对软件开发增加了负担。一般来说,资源的访问、特殊功能API和特别的环境使用,都是需要权限和安全级别和许可,不具备级别和许可是访问不了,这也是能够限制病毒和木马的本质。
对于文件来说,C盘的应用数据Application data目录和非C盘目录的权限和许可控制不严格,C盘的非应用数据Application data目录会要求严格。
而最近完成的word2003下权限和安全问题,更是奇怪,这是环境的权限和安全,对于word2010、word2013和word2016没有此问题,但是对word2003就不行,这也是特别环境下权限和安全的约束,没办法。
为了破解这个约束,使用了caspol.exe,代码访问安全性 (CAS) 策略工具 (Caspol.exe) 使用户和管理员可修改计算机策略级别、用户策略级别和企业策略级别的安全策略。
下面是调用时的文本:
C:\Users\Administrator>C:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol.exe
-q -u -ag All_Code -url "C:\Program Files\Microsoft\TextSafe2003-2022安装程序\Te
xtSafe2003-2022.dll" FullTrust -n "TextSafe2003-2022"
Microsoft (R) .NET Framework CasPol 2.0.50727.5483
版权所有(C) Microsoft Corporation。保留所有权利。将具有“-url”成员条件的联合代码组添加到 User 级别。
成功
提示成功了,就表示权限加上了。
-q是静默方式,不显示多余的提示。
-u是只对当前环境下的登录用户生效。
-ag是添加All_Code代码组下。
-url对应文件。
FuulTrust是全部许可。
-n是名称。
使用caspol.exe对安装包下的文件修改了安全策略,就解决了问题。不修改则出下面的提示:
找不到或未能加载外接程序。
异常文本System.IO.FileLoadException:未能加载文件或程序集或它的某一个依赖项。未能授予执行权限。异常来自HRRESULT:0x80131418。System.Security.Policy.PolicyException:无法获取执行权限。