如果在vb.net中找不到文件,请停止installshield安装

时间:2015-06-09 16:20:37

标签: vb.net events installation installshield

问题的目的是在开始安装服务后停止安装屏幕安装。

特别是,如果在所选目录中找不到文件 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

我尝试过使用EndExit和其他许多人,但没有人停止安装。

1 个答案:

答案 0 :(得分:0)

显然,您可以通过Dialog显示未找到的文件,并调用RoleBack方法,该方法将回滚通过安装过程写入注册表的服务应用程序信息。此方法旨在由安装工具使用,安装工具自动处理相应的方法。 (覆盖Installer.Rollback(IDictionary))。

要了解ServiceInstaller方法,请参阅The MSDN。要使用RollBack方法,请参阅This MSDN Documentation备注:

  

当您在派生类中覆盖Rollback方法时,请确保   首先在派生方法中调用基类的Rollback方法。一个   回滚操作将计算机还原到之前的状态   安装发生了。