Различные процессы используют один и тот же XML-файл - PullRequest
0 голосов
/ 09 ноября 2011

Я написал консольное приложение MFC C ++. Это приложение использует «dll», и эта dll использует один «xml файл» для хранения некоторых данных.

Мне нужно несколько процессов для моего проекта, а также я могу запустить несколько процессов из своего приложения в момент запуска с помощью «Приложения-службы Windows». Они работают как «Системный процесс». Они работают хорошо.

Обычно, если мое приложение запускается как пользовательский процесс, файл XML создается в одном каталоге с процессом. Но если он запускается как системный процесс, файл XML создается в папке «C: \ Windows \ SysWOW64» dll. Таким образом, все процессы используют один и тот же XML-файл.

Проблема в том, что я не написал Dll, поэтому я ничего не могу изменить. Могу я что-нибудь сделать для этого?

Моя ОС "Windows Server 2008 R2"

Заранее

1 Ответ

1 голос
/ 09 ноября 2011

Во время установки службы вы можете установить параметр командной строки, например: -directory c: \ MyAppFolder. В вашем приложении получите этот параметр и измените рабочий каталог методом SetCurrentDirectory. Вы вызываете Dll создает XML-файл в рабочем каталоге, который будет C: \ MyAppFolder. Если вы создаете больше сервисов, убедитесь, что у каждого из них есть уникальный каталог.

...