临时存储 Runonce 进程所需的 EXE 的推荐文件夹在哪里

发布于 2024-10-17 06:12:22 字数 340 浏览 4 评论 0原文

在软件安装过程中,我需要在下次重新启动后运行一些代码。为此,我在此注册表项下放置了 EXE 的链接:

Software\Microsoft\Windows\CurrentVersion\RunOnce

我的问题是,我应该将 EXE 本身放在哪里? EXE 运行后就不需要了,并且安装程序不会在 Program Files 下创建任何我可以放置它的文件夹。将其放在 %TEMP% 下安全吗?我担心,当 Windows 重新启动时,%TEMP% 可能会被清除,并且 EXE 可能会被删除。我可以在 Program Files 下创建一个文件夹并将其放在那里,但该文件夹在运行一次后将永远保留在那里。

有什么推荐的行为吗?

During software installation I need to have some code run after the next restart. To do this I am placing a link to the EXE under this registry key:

Software\Microsoft\Windows\CurrentVersion\RunOnce

My question is, where should I put the EXE itself? The EXE is not needed after it runs and the installer does not create any folder under Program Files where I could just put it. Would it be safe to put it under %TEMP%? I am afraid that by the time Windows restarts the %TEMP% might be cleaned and the EXE removed. I can create a folder under Program Files and put it there but then the folder will stay there forever after it ran once.

Any recommended behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝海 2024-10-24 06:12:22

您可以检查流行的安装程序如何执行此操作(installshield?),或者您可以选择快速解决方案,例如将文件放入%APPDATA%中。

当然,最好的选择是编写一个不需要重新启动的安装程序,或者至少不需要在重新启动后再次运行。 ;-)

You can check how popular installers do this (installshield?), or you can choose a quick solution like putting the files in %APPDATA%.

Best choice is, of course, to write an installer that doesn't need to reboot, or at least doesn't need to run once more after reboot. ;-)

与往事干杯 2024-10-24 06:12:22

既然您要求推荐的行为,您应该首先尝试避免重新启动以及重新启动后的exe。您能否分享信息以提供有关重构的建议?

这需要每个用户运行一次还是总共运行一次? (您没有声明 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE )

如果只有一次,您如何知道下一个用户将具有管理员权限?如果每个用户一次,您是否不希望 EXE 停留很长时间以确保有一天登录的人可以使用它?

无论哪种方式,我建议找到方法来完成您需要完成的事情,而无需这种模式,即使这意味着更改应用程序设计以实现它。

Since you ask for reccomended bevahior, you should try to avoid the reboot and the exe after the reboot in the first place. Can you share information to allow advise on refactoring?

Does this need to run once per user or just once total? (You didn't state HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE )

If only once, how do you know the next user will have administrator privs? If once per user, wouldn't you want the EXE to stick around a long time to make sure someone who logs in one day will have it available?

Either way, I suggest finding ways to do what you need done without this pattern even if that means changing the application design to make it happen.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文