Наш клиент работает с бухгалтерским программным обеспечением Sage Line 50. Обычно это программное обеспечение не позволяет запускать более одного экземпляра. Однако на WinXP мы обнаружили, что можем запустить другой экземпляр, используя скрипт для запуска второго экземпляра с помощью команды runas. Это больше не работает на Win7 64 бит.

Что интересно, если вы переключаете пользователей, вы можете запускать одну и ту же программу дважды, каждый из которых работает как отдельный пользователь. Я предполагаю, что причина в том, что процессы не могут видеть друг друга, когда они находятся в отдельных сеансах, в то время как они видны при запуске в одном сеансе.

Любые идеи о том, можно ли заставить программу думать, что других запущенных процессов нет?

1 ответ1

0

Я нашел одно решение этой проблемы - запустить хотя бы один из экземпляров в песочнице. Я тестировал с использованием бесплатной версии Sandboxie (http://www.sandboxie.com), и она, казалось, работала, когда я запускал второй экземпляр в среде с песочницей. Не уверен, что порядок их создания имеет значение.

Редактировать: при использовании Sandboxie он по умолчанию попытается скопировать все файлы, используемые приложением, в песочницу. Это не то, что вы хотите в общей базе данных! Поэтому для исправления в Sandboxie есть настройки, позволяющие получить прямой доступ к определенным файлам или папкам. Я установил каталог, содержащий Sage DB, для прямого доступа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .