问题的目的是在开始安装服务后停止安装屏幕安装。
特别是,如果在所选目录中找不到文件 file.txt ,我想停止安装(用户将选择安装路径)。
为了控制这一点,我正在调用BeforeInstall
中的ServiceInstaller
事件。
Private Sub ServiceInstaller1_BeforeInstall(sender As Object, e As InstallEventArgs) Handles ServiceInstaller1.BeforeInstall
Dim filePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).Replace("\", "\\")
If Not File.Exists(filePath) & "\file.txt" Then
MsgBox("The specified file is not found in that path, the installation will stop.")
'Missing code
End If
End Sub
我尝试过使用End
,Exit
和其他许多人,但没有人停止安装。
答案 0 :(得分:0)
显然,您可以通过Dialog
显示未找到的文件,并调用RoleBack
方法,该方法将回滚通过安装过程写入注册表的服务应用程序信息。此方法旨在由安装工具使用,安装工具自动处理相应的方法。 (覆盖Installer.Rollback(IDictionary)
)。
要了解ServiceInstaller
方法,请参阅The MSDN。要使用RollBack
方法,请参阅This MSDN Documentation备注:
当您在派生类中覆盖
Rollback
方法时,请确保 首先在派生方法中调用基类的Rollback
方法。一个 回滚操作将计算机还原到之前的状态 安装发生了。