Где находится рекомендуемая папка для временного хранения EXE-файла, необходимого для процесса Runonce - PullRequest
0 голосов
/ 12 февраля 2011

Во время установки программного обеспечения мне нужно запустить некоторый код после следующего перезапуска.Для этого я помещаю ссылку на EXE под этим ключом реестра:

Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce

Мой вопрос: куда мне поместить сам EXE?После запуска EXE-файл не нужен, и установщик не создает папку под Program Files, в которую я мог бы просто поместить ее.Было бы безопасно поместить его в% TEMP%?Я боюсь, что ко времени перезагрузки Windows% TEMP% может быть очищен, а EXE удален.Я могу создать папку в разделе «Program Files» и поместить ее туда, но тогда папка останется там навсегда после того, как она запустится один раз.

Любое рекомендуемое поведение?

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

Поскольку вы просите рекомендованный bevahior, вы должны попытаться избежать перезагрузки и exe после перезагрузки в первую очередь.Можете ли вы поделиться информацией, чтобы дать совет по рефакторингу?

Нужно ли запускать один раз на пользователя или всего один раз?(Вы не указали HKEY_CURRENT_USER или HKEY_LOCAL_MACHINE)

Если только один раз, как вы узнаете, что у следующего пользователя будут права администратора?Если один раз для каждого пользователя, не хотите ли, чтобы EXE долго оставался без присмотра, чтобы убедиться, что кто-то, кто входит в систему за один день, будет доступен?

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

1 голос
/ 12 февраля 2011

Вы можете проверить, насколько популярные программы установки делают это (installshield?), Или вы можете выбрать быстрое решение, например, поместить файлы в% APPDATA%.

Лучший выбор, конечно, написать программу установки, которая не нуждается в перезагрузке или, по крайней мере, не нуждается в повторном запуске после перезагрузки. ; -)

...