WiX:如何安排 InstallUISequence
我正在开发安装程序。很简单;我只是将一些密钥写入 Windows 注册表。但在执行此操作之前,我必须检查一些条件,因此我创建了四个对话框:
Welcome;
检查 Internet 连接是否可用
检查数据库是否可访问
写入注册表并显示完成信息。
我如下安排 InstallUISequence。
<InstallUISequence>
<Show Dialog="Welcome"
After="ExecuteAction"/>
</InstallUISequence>
我使用“下一个”和“上一个”来导航其他对话框。它有效,但欢迎对话框不会立即显示。准备对话框后半分钟,在这半分钟内,没有进度对话框 - 似乎安装已完成。
鉴于此,我在欢迎对话框中更改了如下计划:
<InstallUISequence>
<Show Dialog="Welcome"
before="ExecuteAction"/>
</InstallUISequence>
在 writeRegistry 对话框中:
<InstallUISequence>
<Show Dialog="writeRegistry"
After="ExecuteAction"/>
</InstallUISequence>
我想在显示对话框 writeRegistry 之前执行 ExecuteAction(写入注册表)。但似乎没有任何内容被写入注册表。
这里有什么问题以及如何解决它?
I am working on a installer. It is very simple; I just to write some key into the Windows Registry. But before doing this, I have to check some conditions, so I make four dialogs:
Welcome;
Check that connection to the Internet is available
Check that the database is accessible
Write the registry and show finish information.
And I schedule the InstallUISequence like below.
<InstallUISequence>
<Show Dialog="Welcome"
After="ExecuteAction"/>
</InstallUISequence>
And I use the "next" and "pre" to navigate the other dialogs. It works, but the welcome dialog do not show immediately. Half a minute after the prepare dialog and during this half a minute, it has no progress dialog - it seems the install has finished.
In view of this, I change the schedule like this in the Welcome dialog:
<InstallUISequence>
<Show Dialog="Welcome"
before="ExecuteAction"/>
</InstallUISequence>
And in the writeRegistry dialog:
<InstallUISequence>
<Show Dialog="writeRegistry"
After="ExecuteAction"/>
</InstallUISequence>
I want to do the ExecuteAction (write the registry) before showing the dialog writeRegistry. But it seems that there is nothing has been written into the registry.
What is the problem here and how can it be fixed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ExecuteAction 处理 InstallExecuteSequence 。因此,当此操作开始时,就会执行安装。
所有对话框都应安排在 ExecuteAction之前。
ExecuteAction handles InstallExecuteSequence. So when this action starts, the installation is performed.
All your dialogs should be scheduled before ExecuteAction.