天天看点

我的b/s结构软件升级包

从没看过别人如何写升级包,我想是不是能有这类的自动化工具?这个程序应该比较通用。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        If CheckBox1.Checked = True Then

            Dim dirinfo As DirectoryInfo = New DirectoryInfo(AppFolder.Text)

            If dirinfo.Exists = False Then

                MessageBox.Show("程序安装文件夹不存在,请重新填写.", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

                GoTo myFlagError

            End If

            Dim AppUpdate As New Process

            AppUpdate.StartInfo.FileName = "xcopy.exe"

            AppUpdate.StartInfo.Arguments = String.Format("{0} {1} /s /y", "App", AppFolder.Text)

            Try

                AppUpdate.Start()

                AppUpdate.WaitForExit()

                AppUpdate.Close()

                MessageBox.Show("程序已经成功升级!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

            Catch ex As Exception

                MessageBox.Show("升级程序失败!请联系北京****公司.", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

            End Try

        End If

            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

            If CheckBox2.Checked = True Then

                Dim connString As String = String.Format("workstation id=.;packet size=4096;user id={0};pwd={1};data source=.;persist security info=False;initial catalog={2}", DBAdmin.Text, DBPasswd.Text, DBName.Text)

                Try

                    Dim TestInteger As Integer = SqlHelper.ExecuteScalar(connString, CommandType.Text, "select count(*) from sysusers")

                Catch ex As Exception

                    MessageBox.Show("数据库连接失败,请检查所填写数据库信息是否正确.", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

                    GoTo myFlagError

                End Try

                Dim Succ As Boolean = True

                Dim SQLUpdate As New Process

                Dim files As FileInfo

                Dim dir As DirectoryInfo = New DirectoryInfo("Sql/")

                For Each files In dir.GetFiles

                    SQLUpdate.StartInfo.FileName = "osql.exe"

                    SQLUpdate.StartInfo.Arguments = String.Format("-U {0} -P {1} -d {2} -i {3}", DBAdmin.Text, DBPasswd.Text, DBName.Text, "Sql/" & files.Name)

                    Try

                        SQLUpdate.Start()

                        SQLUpdate.WaitForExit()

                        SQLUpdate.Close()

                    Catch ex As Exception

                        MessageBox.Show("升级数据库脚本 " & files.Name & " 失败!请联系北京****公司.", "失败", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

                        Succ = False

                    End Try

                Next

                If Succ = True Then

                    MessageBox.Show("数据库脚本已经成功升级!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)

                End If

            End If

myFlagError:  ' 连接数据库失败出错!