我有安装访问文件中的公共数据文件夹(CSIDL_COMMON_APPDATA)的子目录中的遗留VB6程序。现在我已经安装了64位Vista系统该程序,该程序正常工作和访问文件位于C:\ ProgramData \哇\ WowCat.mdb,但该文件无法在Windows资源管理器中显示

我要覆盖此数据库,用最新版本的,从我的旧电脑采取的,但是使用资源管理器看不到在文件C:\ ProgramData \哇\(我显示所有隐藏文件和系统文件)。如果我继续前进,反正复制新WowCat.mdb,该方案仍然有效与旧的。

步进VB中的代码,它被肯定在打开文件:C:\ ProgramData \哇\ WowCat.mdb。搜索C:?只能驱动显示了新的副本,所以其中的是,程序在访问一个

有帮助吗?

解决方案

这是因为在Windows Vista中的文件夹重定向。如果你通常没有权利写东西到C:\ Program Files文件夹,Vista将默默地这些写入重定向到您的用户目录内的一个“秘密”文件夹中。该文件仍将是谁创建的文件(的是该用户的任何程序)对用户可见,但它不会对任何人可见。所以,你的程序可能运行作为不同的用户比Explorer是,因此浏览器无法看到它。

请参阅我的Vista的64位机器上从DIR / AL以下输出:

C:\ProgramData>dir /aL
 Volume in drive C has no label.
 Volume Serial Number is 74DB-58F8

 Directory of C:\ProgramData

02.11.2006  16:41    <JUNCTION>     Application Data [C:\ProgramData]
02.11.2006  16:41    <JUNCTION>     Desktop [C:\Users\Public\Desktop]
02.11.2006  16:41    <JUNCTION>     Documents [C:\Users\Public\Documents]
02.11.2006  16:41    <JUNCTION>     Favorites [C:\Users\Public\Favorites]
02.11.2006  16:41    <JUNCTION>     Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu]
02.11.2006  16:41    <JUNCTION>     Templates [C:\ProgramData\Microsoft\Windows\Templates]
               0 File(s)              0 bytes
               6 Dir(s)  62 040 051 712 bytes free

在功能被称为重分析点或结,这取决于其中阅读有关它们。他们非常类似于Unix的符号链接。

其他提示

这样做正确需要一个Windows安装MSI或传统的安装程序运行高架创建COMMONAPPDATAFOLDER下的子文件夹,使每个人到这个文件夹的完全控制(或适当集团),最后放在你的MDB那里。您也可以只在文件中创建的文件夹,将MDB文件那里,并设置权限。

另外,也可以为EXE本身如果运行升高或检测遗漏,并产生一个升高的过程来完成这项工作,以执行此第一次运行。标准规定,这一行动应通过与UAC盾牌图标的菜单项或按钮来启动显示然而,不只是弹出UAC提示。

有通过MSI软件包所有容易得多虽然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top