我们可以通过使用[以不同用户身份运行]并重新输入与当前用户会话相同的凭据来使应用程序正常运行.使用RUNAS命令行也可以.
[以管理员身份运行],也不以本地管理员身份登录都无法解决问题,因此这似乎不是Windows权限问题(我还不相信这是一个UAC问题).
由于当前从脚本调用应用程序,我们可以使用命令行,但不希望用户需要不必要地重新输入密码.
为了排除故障,我尝试使用ProcMon,并没有发现任何明显的问题.
我的问题是:
> Windows如何将[以不同用户身份运行] /RUNAS.exe与当前会话区别对待,以便我们可以尝试模拟它?
>我是否可以使用本地安全项来模仿上述内容?
>我可以使用哪些其他方法来解决确切的问题?
TL:DR
该死的Windows 10,允许我的应用程序工作!
>您是否尝试禁用UAC?这有什么不同吗?
>您是否尝试过禁用防病毒软件?
>您是否尝试过卸载防病毒软件? (禁用防病毒,有时候,并没有真正禁用…)
>您是否在另一台计算机上尝试过相同的可执行文件? (有时软件在不同计算机之间的工作方式不同,没有明显的原因(我知道总有一个原因,但有时候找到原因需要太多的时间/专业知识……))
>您是否试图弄乱可执行属性的“兼容性选项”?
>您是否尝试复制可执行文件夹,并执行副本而不是原始文件? (我知道这很疯狂,但我已经看到了这项工作.很明显,文件安全描述符或其他东西出了问题……取得所有文件/文件夹的所有权并没有什么区别)
> VB6可执行文件是否使用任何.Net DLL?在.Net的最新版本(4.6,如果我没记错的话)Microsoft将某些类从DLL移动到另一个,因此有一种情况,使用.Net DLL的VB6软件与.net 4 Framework一起使用,但不适用于.Net 4.6(即使它应该兼容……)
>你有没有试过拔掉电脑的电源? (不是重启,而是真正的拔出/强制重置,因为Windows 10,通常,当你重新启动它时,doesent重新启动一切,但保持一些状态从以前的执行开始更快(你可以搜索Windows 10 fast startup))>你尝试过干净的Win 10安装吗?也许在虚拟PC上? (所以你可以搞乱更新,工具,软件…)