避免在 Win7 和 Win8 中使用 UAC 虚拟化

  • 本文关键字:UAC 虚拟化 Win8 Win7 vb6 uac
  • 更新时间 :
  • 英文 :


我有一个 VB6 旧版应用程序,通常安装在C:/程序文件/应用程序名称

这意味着在 Win7 和 8 下,它受 UAC 虚拟化控制的约束。由于一些用户发现似乎没有文件令人困惑,我想避免 UAC 虚拟化。如果我要在另一个目录中安装应用程序,例如

C:/我的应用程序/应用程序名称

与程序文件分开,这会避免 UAC 虚拟化还是仍然会发生?

谢谢

最好的解决方案是将应用程序安装在:

%LOCALAPPDATA%ClintonSoft

例如

C:UsersClintonAppDataLocalClintonSoft

这是允许用户修改的文件夹。

或者您可以关闭虚拟化

您可以选择退出文件和注册表虚拟化。为此,您可以通过指示 requestExecution 级别 asInvoker 向程序集清单添加一个条目:

<?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="client"
            type="win32"
    /> 
    <description>Clinton's Reilly Factor</description> 
    <!-- Disable file and registry virtualization -->
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="asInvoker"/>
            </requestedPrivileges>
        </security>
    </trustInfo> 
</assembly>

警告

通过选择退出文件和注册表虚拟化,您的应用程序将失败,并出现与在 Windows XP 上完全相同的ACCESS_DENIED错误。

最新更新