一. 写了个revit插件的自动更新程序,用了一段时间后发现了问题,执行文件操作的exe程序无法被dll文件调用起来。网上搜了很多办法,大多数都是提升权限(测试的时候也是提示提升权限),方法就是增加app.manifest配置文件,调试多次无果。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
二. 改变了一下思路,降低exe文件的权限
(1)dll文件里使用explorer.exe 运行程序(降权限)
Process.Start("explorer.exe", exefile);
(2)设置exe主程序参数条件,没有参数直接关闭,完成降权(业务代码需要设定参数)
public static void Main(string[] args)
{
if (args.Count() == 0)
{
Environment.Exit(0);//退出应用程序
}
}
后面执行正常业务代码就可以了,相对来说比较简单。
文章描述了一个在开发Revit插件时遇到的问题,即exe程序无法被dll文件正确调用。作者尝试通过添加app.manifest文件提升权限但未成功。最终,通过使用explorer.exe来启动exe程序并设置主程序参数条件以降低权限,解决了这个问题。这种方法简化了问题的处理并确保了程序的正常运行。
633

被折叠的 条评论
为什么被折叠?



