C# 如何以管理员身份编程运行VB6 EXE?

C# 如何以管理员身份编程运行VB6 EXE?,c#,vb6,registry,wise,C#,Vb6,Registry,Wise,我有一个用VB6开发的旧应用程序,现在我有一些C#中的附加组件(DLL作为组件),它需要管理员权限才能在64位系统(windows 8)中写入注册表 如果我通过右键单击“以管理员身份运行”来运行我的应用程序,程序工作正常,DLL会写入注册表,但如果我以普通用户身份运行,则会写入注册表失败 我知道如果我在HKLM…AppCompatFlags->Layers中添加注册表值,它会起作用,但如何通过编程或在安装过程中添加该值(使用WISE 9创建)?您通常会通过安装appcompat数据库在安装时应用

我有一个用VB6开发的旧应用程序,现在我有一些C#中的附加组件(DLL作为组件),它需要管理员权限才能在64位系统(windows 8)中写入注册表

如果我通过右键单击“以管理员身份运行”来运行我的应用程序,程序工作正常,DLL会写入注册表,但如果我以普通用户身份运行,则会写入注册表失败


我知道如果我在HKLM…AppCompatFlags->Layers中添加注册表值,它会起作用,但如何通过编程或在安装过程中添加该值(使用WISE 9创建)?

您通常会通过安装appcompat数据库在安装时应用appcompat。如果发布了新版本,请参阅或当前版本。另见

然而,一个简单得多的解决方案是在您的程序中嵌入一个请求提升的应用程序清单

如果你不知道这一点,也不知道如何做到这一点,那么你一定是从2006年起就一直在睡觉,然而,搜索诸如MSDN博客之类的网站应该会找到一些答案。对于CookbookVB6方法,您可以搜索流行的VB6论坛和博客网站,这些网站的教程和示例格式往往比StackOverflow友好得多