Проблема не в установщиках, таких как Inno Setup, Windows Installer, Wise, InstallShield и т. Д. Настоящая проблема заключается в том, как заставить программу работать при каждом запуске Windows. Есть много вариантов сделать это. Один из способов - указать путь к вашей программе EXE в следующем разделе реестра:
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
or
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Но было бы много других мест. Это зависит от того, какая у вас программа, на каком этапе запуска вы хотите запустить программу и в каком контексте она будет запущена (локальный компьютер или текущий пользователь). Пожалуйста, прочитайте следующую статью в MSDN
Понимание и контроль запуска приложений
Итак, после того, как вы выберете подходящее место для ваших нужд, вы решите, какой установщик вы собираетесь использовать для его реализации. Если вы программист на Delphi / Pascal, Inno Setup создан для вас; Если вам нравится язык PHP, возможно, NSIS - правильный выбор; и т. д.
В Windows Vista и более поздних версиях вы должны решить проблему с UAC. Если вы используете Inno Setup, обязательно включите следующий оператор в [Setup]
section
PrivilegesRequired=admin
В Windows Vista и более поздних версиях, если вы хотите отключить уведомление о том, что некоторые несертифицированные программы автозапуска были заблокированы Windows, вы должны использовать Task Scheduler, чтобы настроить автоматический запуск вашей программы при запуске Windows. Вы можете запустить Task Scheduler, запустив Schtasks.exe
из вашей программы установки. См. Параметры командной строки для планировщика заданий и , его описание .
Наконец, мой совет: если вы хотите привлечь людей к своим вопросам, постарайтесь принять и / или проголосовать (если это возможно), предположив, что вы получите ответ на свой вопрос. * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * Скорее всего, люди готовы глубоко изучить вашу проблему.