Windows Server 2016 не может прочитать новую переменную среды - PullRequest
0 голосов
/ 30 мая 2018

У меня странная проблема при установке моего приложения на Windows Server 2016. (оно отлично работает на серверах 2012 и Windows 7 до 10 клиентов).

К вашему сведению: я тестер программного обеспечения, а непрограммист, который написал код для приложения или установщика.Мы разворачиваем приложение как MSI-файлы, если это важно.

Программа установки для моего приложения выполняет три действия: - по умолчанию она устанавливает все необходимые файлы в папку C: \ myapp.- он создает каталог C: \ mydir \ subdir и в этом subdir создает файл с именем info.text - он устанавливает переменную среды myvar с содержимым C: \ mydir \ subdir \ info.text (он также может создаватьзначок на рабочем столе для запуска приложения, но этот значок не важен)

Содержимое файла info.text представляет собой простой простой текст: путь, по которому программа может найти свою базу данных.По умолчанию он будет содержать путь C: \ myapp \ dbsubdir

. Он работает очень хорошо уже несколько десятилетий, а также отлично работает при установке в Windows 10.

В Windows Server 2016 я запускаюустановщик и вручную проверьте, присутствуют ли C: \ mydir \ subdir \ info.text и переменная myvar - и они есть.Файл info.text также содержит правильное содержимое.

Затем я запускаю приложение, щелкая значок на рабочем столе и получаю сообщение об ошибке.Я спросил моего разработчика программного обеспечения, и он сказал, что это сообщение об ошибке может быть вызвано только одной из двух причин: - приложение не может найти переменную среды myvar - приложение не может найти файл C: \ mydir \ subdir \ info.текст

После перезапуска Windows приложение запускается так, как будто ошибки никогда не было.

Во всех других системах Windows я могу запустить приложение сразу после завершения установки - мое приложение не запускаетсятребуется перезагрузка Windows.

Я предполагаю, что Windows Server 2016 требуется какой-то перезапуск, чтобы можно было читать вновь созданные переменные среды.Но я не нашел доказательств этой мысли или идей, как обойти этот перезапуск.

Верна ли моя догадка?

И если да, есть ли способ обойти этот перезапуск?

1 Ответ

0 голосов
/ 10 мая 2019

Да, я видел это именно в Windows Server 2016. Обходной путь перезапуска - выйти из системы и снова войти в нее. Похоже, это вызывает перечитывание набора переменных среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...