我想在 C# 中单击按钮时调用安装程序类。是否可以?

发布于 2024-10-16 08:53:02 字数 48 浏览 1 评论 0原文

如何在按钮单击事件上调用从注册表读取的安装程序类,并在 C# 中向注册表中写入值?

How can I call an installer class on a button click event which read from the registry and also write a value in the registry in C#?

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

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

发布评论

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

评论(1

旧时模样 2024-10-23 08:53:02

这无法通过单个自定义操作来完成。您应该有 2 个单独的自定义操作:

  • 一个在单击按钮时执行并从注册表读取信息,
  • 另一个在安装期间将信息写入注册表。

第二个操作需要管理员权限,并且应该以延迟方式运行,而不会在 InstallExecuteSequence 中进行模拟。

假设您想根据从注册表中读取的内容设置安装程序属性,那么使用安装程序类并不是真正的选择。我建议使用 DLL 自定义操作来获取安装程序会话的句柄。您可以在这里找到教程:
http://www.codeproject.com/KB/install/msicustomaction.aspx

This cannot be done with a single custom action. You should have 2 separate custom actions:

  • one which is executed on button click and reads information from registry
  • another one which writes information in registry during install

The second action needs Administrator privileges and should run as deferred with no impersonation in InstallExecuteSequence.

Assuming you want to set installer properties based on what is read from registry, using an Installer Class is not really an option. I recommend using a DLL custom action which gets a handle to the installer session. You can find a tutorial here:
http://www.codeproject.com/KB/install/msicustomaction.aspx

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