windows7-UAC-VB6-文本文件Can';“不必”;见;申请

windows7-UAC-VB6-文本文件Can';“不必”;见;申请,vb6,windows-7,uac,Vb6,Windows 7,Uac,我们有一个VB6应用程序,可以读取扩展名为.LIC的简单文本文件。当一切正常工作时,如果文件与可执行文件位于同一目录中,它将读取该文件。如果没有,它会做其他事情 我有一个使用Windows7机器的客户,如果他右键单击EXE并“以管理员身份运行”,它就会“看到”LIC文件。如果他以基本用户身份运行EXE,则无法查看LIC文件 我对UAC的问题已经够多了,我猜UAC是从某种虚拟目录运行应用程序的,这就是为什么没有看到LIC文件的原因。我的客户发誓他关掉了UAC 有人给我指点什么吗?如果有办法告诉UA

我们有一个VB6应用程序,可以读取扩展名为.LIC的简单文本文件。当一切正常工作时,如果文件与可执行文件位于同一目录中,它将读取该文件。如果没有,它会做其他事情

我有一个使用Windows7机器的客户,如果他右键单击EXE并“以管理员身份运行”,它就会“看到”LIC文件。如果他以基本用户身份运行EXE,则无法查看LIC文件

我对UAC的问题已经够多了,我猜UAC是从某种虚拟目录运行应用程序的,这就是为什么没有看到LIC文件的原因。我的客户发誓他关掉了UAC

有人给我指点什么吗?如果有办法告诉UAC“让这个应用程序在这个目录中做它想做的事情”,那就太好了。那不是我的专长。我一直在谷歌上搜索,直到我的手指掉下来,我找不到正确的答案


谢谢

它也可能是权限?如果用户未以管理员身份登录,则您的程序可能没有读取“.lic”文件的权限。您是否检查过用户是否可以在记事本中打开它?您的代码是否可能试图使用读/写权限打开它,而这更可能失败


您可能需要更改安装,以便降低应用程序安装目录上的权限。

它也可能是权限?如果用户未以管理员身份登录,则您的程序可能没有读取“.lic”文件的权限。您是否检查过用户是否可以在记事本中打开它?您的代码是否可能试图使用读/写权限打开它,而这更可能失败


您可能需要更改安装,以降低应用程序安装目录上的权限。

如果您认为正在进行虚拟化(这将导致它查找程序文件以外的其他位置),给他一个名为foo.exe.manifest的清单文件,其中foo是您的可执行文件名,并让他将其与exe和.lic文件放在同一文件夹中。此清单应将所需的执行级别设置为asInvoker。这将抑制虚拟化,因此您可以排除这一问题。然后,他可能会遇到拒绝访问错误,但这将帮助您解决问题。

如果您认为正在发生虚拟化(这将导致虚拟化查找程序文件以外的其他位置),请给他一个名为foo.exe.manifest的清单文件,其中foo是您的可执行文件名,并让他将其与exe和.lic文件放在同一文件夹中。此清单应将所需的执行级别设置为asInvoker。这将抑制虚拟化,因此您可以排除这一问题。然后,他可能会收到拒绝访问错误,但这将帮助您解决问题。

文件是如何放置在您期望的位置的?通过提升的过程?此进程是否有包含trustInfo节点的应用程序清单?是否涉及到两个用户(或者只有一个管理员用户在使用和不使用提升)?您确定程序“看不到”该文件还是可能看到一个空文件?该文件是如何放置在您期望的位置的?通过提升的过程?此进程是否有包含trustInfo节点的应用程序清单?是否涉及到两个用户(或者只有一个管理员用户在使用和不使用提升)?你确定程序“看不到”文件,或者它可能看到一个空文件吗?我仍在处理这个问题,但我很确定这就是问题所在。虽然我很不愿意承认,但我并不知道这一明显的要求。我还在研究这个问题,但我很确定这就是问题所在。虽然我很不愿意承认,但我并不知道这一明显的要求。令我惊讶的是,Windows7/Server2008没有在添加的任何没有清单的新应用程序上提示messagebox。这将更有意义。有大量的“网络管理员”对所需的清单文件一无所知。还应该有一个“自动创建”清单实用程序,用于网络管理员尝试让应用程序在这些新操作系统上运行,而无需关闭UAC即可让旧应用程序运行。不管怎样,谢谢凯特为我指明了正确的方向。现在我知道了谷歌的“目的”,我发现了大量的信息。如果我的尝试不起作用,我可能会与你联系,凯特,就这个问题支付一些咨询/指导费用。我仍在努力解决这个问题,但我很确定这就是问题所在。虽然我很不愿意承认,但我并不知道这一明显的要求。我还在研究这个问题,但我很确定这就是问题所在。虽然我很不愿意承认,但我并不知道这一明显的要求。令我惊讶的是,Windows7/Server2008没有在添加的任何没有清单的新应用程序上提示messagebox。这将更有意义。有大量的“网络管理员”对所需的清单文件一无所知。还应该有一个“自动创建”清单实用程序,用于网络管理员尝试让应用程序在这些新操作系统上运行,而无需关闭UAC即可让旧应用程序运行。不管怎样,谢谢凯特为我指明了正确的方向。现在我知道了谷歌的“目的”,我发现了大量的信息。如果我的尝试不起作用,我可能会与你联系,凯特,支付一些关于这个问题的咨询/指导费用。