[我在 2 个月前提交了这个问题,但没有任何回复......显然问题仍然存在,我们即将发布我们应用程序的新版本,所以现在正在编写一些文档让用户删除虚拟商店中的任何条目-我不想做的事情....所以现在真的希望有人可以帮助我们吗?!]
我很感激有很多关于这个主题的信息,但我仍然有一个烦人的问题,不知道该去哪里......因此来到这里!
我们有一个应用程序 (VB.NET) 现在将 REPORT 文件安装到 ProgramData 下的文件夹中。现在我们的应用程序 dll 是从第三方应用程序(我们显然无法控制)运行的,这个第三方应用程序允许人们运行报告;但是当运行报告时,它会更新报告,以便存储它的“上次运行日期”。这就是给我们带来乐趣的原因。
启用 UAC 后,报告文件将被复制到虚拟存储中的等效位置。当他们使用我们应用程序的当前版本时,这当然没问题,但是当我们发布新版本(带有修改后的报告)时,这些新版本会正确安装到 ProgramData 中,但是当用户运行应用程序时 - 他们会看到来自虚拟商店的过时报告。
我们非常接近编写一些安装文档,告诉人们在安装我们的新版本之前从虚拟商店中删除任何报告 - 但这是一个真正的逃避!
第三方应用程序还安装了自己的报告(安装到 ProgramData 下的不同位置),并且他们能够在不启动虚拟商店的情况下更新他们的报告 - 所以我们知道这是可能的!
我刚刚在我们的 dll 中添加了一个清单:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
希望这是治愈方法,但可惜没有!
所以,我愿意接受你们可能有的任何建议?!?
干杯,
克里斯。