c# Revit二次开发插件自动更新无法启动exe解决思路

文章描述了一个在开发Revit插件时遇到的问题,即exe程序无法被dll文件正确调用。作者尝试通过添加app.manifest文件提升权限但未成功。最终,通过使用explorer.exe来启动exe程序并设置主程序参数条件以降低权限,解决了这个问题。这种方法简化了问题的处理并确保了程序的正常运行。

一. 写了个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);//退出应用程序
            }
        }

后面执行正常业务代码就可以了,相对来说比较简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值