Программа Windows переустанавливает себя для различных входов в систему на компьютере. - PullRequest
0 голосов
/ 30 января 2019

Я создал установщик Windows для программы клиент-сервер, используя VS 2013 и InstallShield LE 2015.

Я вхожу в систему с правами администратора и запускаю установщик.Все работает нормально.

Затем я изменяю реестр для Local_Machine для некоторых ключей, чтобы определить местоположение базы данных и т. Д. Для программы (это также было сделано при первоначальной установке, но из-за некоторых проблем, обсуждаемых в При каждом входе в систему программа пытается настроить параметры установки в реестре HKEY_LOCAL_MACHINE , я удалила раздел модификации реестра из программы установки).

Затем я запускаю программу, дважды щелкнув по ярлыку, помещенномуустановщик на рабочий стол и протестируйте его.Все работает хорошо.

Затем я выхожу из компьютера.

Другой пользователь с правами администратора входит в систему и нажимает на ярлык, и возникает проблема: программа начинает переустанавливать себя!

Затем он исправляется и работает нормально.

Но если первый пользователь войдет в систему позже, он выполнит ту же операцию переустановки, что и первый пользователь после того, как до тошноты!

Таким образом, даже несмотря на то, что установщик не создает какие-либо элементы реестра сам по себе, каким-то образом, как только программа получает доступ к реестру или считает, что она повреждена, ОС Windows вмешивается и пытается восстановить все, что необходимо исправить.

InstallShield LE не позволяет устанавливать ярлыки "Advertised Shortcut" или

. Я удаляю ярлык, созданный установщиком, и воссоздаю его вручную после установки, но при этом испытываю ту же проблему.Таким образом, природа ярлыка, возможно, не является причиной.

Эта проблема возникает только при нескольких входах в систему.Если многие люди входят в систему, используя одинаковые учетные данные, это никогда не происходит.

Итак, что не так?Я изучил много ответов StackOverflow, чтобы решить эту проблему безуспешно.Любая помощь будет высоко оценен.

1 Ответ

0 голосов
/ 31 января 2019

Штейн дает хороший набор инструкций по диагностике проблем с программами MSI в этом StackOverflow ответ .Следуя его инструкциям, я смог проверить, в каком компоненте моей программы MSI возникла проблема.Оказывается, библиотека контроллера последовательной шины MScomm32.ocx не может правильно зарегистрироваться под Win 10.Однажды я реализовал решение по этой ссылке , вышеуказанная проблема была решена, и я мог войти в систему как два разных пользователя, не инициируя процесс переустановки всякий раз, когда для запуска программы дважды щелкнул значок программы.

...