同时运行Access 2003和2007是否安全?
我对在Access 2003和2007之间切换时的重新配置延迟提出了疑问:
顺便说一句,我们无法避免在Access 2007和早期版本之间进行重新配置。 Access 2007使用与早期版本相同的某些注册表项,并且在打开Access 2007时必须重写它们。
如果是这样,那么同时运行/开发两个版本的数据库实际上安全吗?注册表更改一旦启动,是否会影响Access的操作。例如重新编译/保存对对象的更改?
解决方案
这是绝对安全的,我经常这样做(包括运行和开发)。在Access 2007中打开数据库后,一些额外的属性将被添加到数据库中。但是,这样做的方式是我们以后仍可以在Access 2003中安全地打开数据库。
我们还在多版本环境中安装了数据库,因为不同的人使用相同的后端,并且前端在Access 2003或者2007中打开。
它大多数时候都可以工作,但并不是绝对安全,这就是为什么Microsft拒绝在同一台PC上支持多个Microsoft Office安装的原因。推荐的解决方案是安装虚拟机,然后在虚拟机上安装第二个Microsoft Office版本。然后,我们可以从一种版本的Access切换到另一种版本,而不会互相干扰(并且无需等待切换时间!)
Microsoft免费提供32位和64位版本的Virtual PC 2007下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en
这是服务包:
http://www.microsoft.com/downloads/details.aspx?FamilyID=28c97d22-6eb8-4a09-a7f7-f6c7a1f000b5&DisplayLang=en
在我看来,我们打开的Access实例将在打开时继承注册表设置。因此,如果打开A2K7,我们将获得它在"配置Office"过程中写入的注册表设置。如果在A2K7仍处于打开状态时打开A2K3,它将重新配置注册表设置并继承其会话设置。这对已经运行的A2K7实例没有影响。
唯一可能的例外是,如果某些注册表项在"配置..."过程中发生更改,而Access在打开时不会读取,而是在会话的稍后阶段读取。我强烈怀疑MS是否会以这种方式设计事物。自从MS推出MS Installer(大多数使用Office 2000的人首先看到)以来,Professional Access开发人员就一直在处理此类问题。A2K7问题仅比以前的版本稍差(尽管在Vista中,由于Vista处理注册表更改的方式)。 MS在单个PC上考虑使用多个版本的Access会发疯的事实并不意味着它实际上很危险-仅表明它们不想为支持该方案而投入资源。