通过Windows 7上的C#应用​​程序打开访问应用程序

问题描述:

一些背景:
我们有一个windows应用程序(c#),它定位在系统中尝试。
这个简单的应用程序是其他应用程序和工作人员之间的消息传递的基本快捷方式管理器。通过Windows 7上的C#应用​​程序打开访问应用程序

的应用之一是(连接到SQLSERVER)2007年Access应用程序 - 客户机与Access运行2007年(最新版本)

的问题是,我们不能从C#应用程序正确启动Access应用程序。
问题是只在Windows 7(我们没有Vista) - [在XP操作系统一切正常)

“正确” - 这意味着Access应用程序运行,但功能区栏缺少一些图标(奇怪)。还有一些功能像打开Outlook不起作用。

更多信息:
- 如果我们在客户端桌面上的快捷方式到Access应用程序一切正常。
- C#应用程序启动其他EXE文件没有问题。
- C#应用程序包含Manifest文件(在Win 7上以管理员身份运行)。


原代码很简单(只能在XP):

System.Diagnostics.Process.Start(AppPath); 

'打开EXE' 代码工作(在XP和Win7工程) - [不与访问应用程序的工作]

Process Proc= new Process(); 
Proc.StartInfo.UseShellExecute = false; 
Proc.StartInfo.FileName = Application.StartupPath + @"\PasswordManager.exe"; 
Proc.Start(); 

我们尝试了很多代码中包含[NOT WORKING]没有成功:

System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
proc.EnableRaisingEvents = false; 
proc.StartInfo.FileName = sAccPath;// msaccess Path; 
proc.StartInfo.Arguments = @"""" + AppPath+ @""""; 
proc.Start(); 

我们也尝试添加[不工作]:

System.OperatingSystem osInfo = System.Environment.OSVersion; 
if (osInfo.Version.Major > 5) 
     proc.StartInfo.Verb = "runas"; 



Helppppppppppp!
谢谢

我们卸载当前的OFFICE SBE 2007并安装最新版本的OFFICE SBE 2007. 现在一切正常。
我们的结论是,办公室SBE 2007年第一个版本(在客户端计算机instaled)不与Access运行2007

(奇怪,但工作)


大卫很好地工作,非常感谢你。

+0

正如我所说,我认为SBE包含运行时,所以也许旧版本的SBE将运行时恢复为旧版本,否则以某种方式破坏它。 – 2010-03-12 04:12:27

我可能是错误的,但我的猜测是,它运行在缩减功能模式,因为你没有定义它可以运行的可信任位置。我不知道这是如何在代码中完成的,但是如果启动A2007,它在Office菜单下的访问选项(我从菜单发布,因为我大多数情况下使用A2003,不想等待重新启动)注册过程)。

+0

感谢您的回答,但我认为情况并非如此。 正如我所说,如果我们从桌面快捷方式运行应用程序 - 一切正常。 我们也尝试在HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 12.0 \ Access \ Security \ Trusted Locations下手动添加可信任位置到注册表中。 没有帮助。 谢谢。 – Noam 2010-03-02 11:41:28

+0

您是否在Google网上论坛中搜索了此问题的Access新闻组?它确实听起来很像您在“宏安全”级别和可信位置未正确设置时所获得的简化功能模式。 – 2010-03-02 21:15:40

+0

是的我知道这听起来像这样(而且行动),但如果我不使用C#应用程序来启动ms访问apllication,一切正常。所以,我认为这是更多的C#问题,然后访问问题。我认为我们尝试运行Access应用程序(来自C#应用程序)的方式是错误的,并导致ms-access在缩减功能模式下工作.-- TA。 – Noam 2010-03-03 06:08:23