У меня странная проблема при установке моего приложения на 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 требуется какой-то перезапуск, чтобы можно было читать вновь созданные переменные среды.Но я не нашел доказательств этой мысли или идей, как обойти этот перезапуск.
Верна ли моя догадка?
И если да, есть ли способ обойти этот перезапуск?