Некоторый фон:
у нас есть приложение для Windows (c #), которое находится в системе попробуйте.
это простое приложение в основном является менеджером ярлыков для других приложений и обмена сообщениями между работниками.
одним из приложений является приложение Access 2007 (подключенное к sqlserver) - клиент работает с ACCESS Runtime 2007 (последняя версия)
Проблема в том, что мы не можем правильно запустить приложение Access из приложения C #.
Проблема только в Windows 7 (у нас нет Vista) - [в операционной системе XP все работает нормально)
«правильно» - это означает, что приложение Access работает, но на панели ленты отсутствуют некоторые значки (странно). также некоторые функции, такие как открытие Outlook, не работает.
Дополнительная информация:
- Если мы добавим ярлык на рабочий стол клиента в приложение Access, то все в порядке.
- Приложение C # не имеет проблем с запуском другого EXE-файла.
- Приложение C # содержит файл манифеста (запускается как администратор на Win 7).
Исходный код очень прост (работает только в XP):
System.Diagnostics.Process.Start(AppPath);
Работающий код «Open EXE» (работает на XP и Win7) - [не работает с приложением Access]
Process Proc= new Process();
Proc.StartInfo.UseShellExecute = false;
Proc.StartInfo.FileName = Application.StartupPath + @"\PasswordManager.exe";
Proc.Start();
Мы пробуем много кодов без успеха, например [НЕ РАБОТАЕТ]:
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 !!!
Спасибо