这是SQL数据库的安装程序.它确实不会更改本地计算机上的任何内容,但会连接到数据库以进行更改.
用户可以从一台计算机升级3个不同的数据库服务器,这样他们就可以使用相同的对话框运行3次.
我希望安装程序始终显示我设置的相同自定义对话框.我不希望它进入维护对话框.
我已将MajorUpgrade标记设置为如此,文档中说明了"AllowSameVersionUpgrades"
<MajorUpgrade AllowDowngrades="yes" />
Run Code Online (Sandbox Code Playgroud)
我尝试更改对话框"下一步"按钮.NewDBDlg是一个自定义屏幕.
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="NewDBDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="NewDBDlg">1</Publish>
Run Code Online (Sandbox Code Playgroud)
这样的工作,但它到达最后一个"VerifyReadyDlg"屏幕,它只是一个空白,只有一个"后退"和"取消"按钮.
我是朝着正确的方向前进还是应该尝试其他方法,例如在安装过程中删除安装?
有时我需要创建一个并非真正传统安装程序的.MSI.它更像是一个实用程序,然后是已安装的应用程序.Microsoft有时会使用Microsoft Fix it 系列实用程序来执行此操作.
这是一种不常见的情况,但可以通过禁止某些Windows Installer标准操作来完成:
<InstallExecuteSequence>
<RegisterProduct Suppress="yes" />
<PublishFeatures Suppress="yes" />
<PublishProduct Suppress="yes" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
由于产品从未在安装程序服务中注册,因此无需维修,卸载,升级,维护等.