求助:在运行时winform自动安装MSDE,安装到后半段时无反应,但控制台方式却可以!

Andy_shi 2008-08-19 12:22:20
如题。为了在系统安装运行后,我做了个配置工具,自动安装MSDE,首先做了一个控制台项目,运行正常后,觉得用户界面差了些,就做个winform的项目,结果安装运行了n秒后,安装程序就不再进行了,请各路大仙指教,附代码:
控制台代码:
Function RunInstaller() As Boolean

Try
Console.WriteLine("正在安装数据库软件……")
Dim i As Short
Try

i = Shell("""" + Environment.CurrentDirectory + "\\msde\\setup.exe""", AppWinStyle.NormalFocus, True, 1000000)

Catch ex As Exception
Console.WriteLine(" 错误信息:" + ex.Message)
i = -1
End Try


If i > 0 Then
Console.WriteLine("数据库软件成功安装……")
Return True
Else
Console.WriteLine("数据库软件安装过程中出错……")
Return False
End If
Catch ex As Exception
Return False
Console.WriteLine("运行安装时出错!")

End Try


End Function

winform代码:
Function RunInstaller() As Boolean


' MessageBox.Show("正在安装数据库软件[" + """" + Environment.CurrentDirectory + "\\msde\\setup.exe""" + "]……")
Dim i As Short
Try
'最初用shell实现,搞不定后,查资料改为process,结果一样!
' i = Shell("""" + Environment.CurrentDirectory + "\\msde\\setup.exe""", AppWinStyle.NormalFocus, True)

Dim psInfo As New System.Diagnostics.ProcessStartInfo(Environment.CurrentDirectory + "\msde\setup.exe")

psInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal

Dim myProcess As Process = System.Diagnostics.Process.Start(psInfo)
i = 1

Catch ex As Exception
MessageBox.Show("运行安装时出错:" + ex.Message, "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Error)
i = -1
End Try

MessageBox.Show("安装数据库软件结束……")
If i > 0 Then
Me.lb_DBMS.Text = "数据库软件成功安装……"
Return True
Else
Me.lb_DBMS.Text = "数据库软件安装过程中出错……"
Return False
End If



End Function
...全文
211 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy_shi 2008-08-20
  • 打赏
  • 举报
回复
最终的解决办法:

Function RunInstaller() As Boolean
Dim i As Short
Try

Dim psInfo As New System.Diagnostics.ProcessStartInfo(Environment.CurrentDirectory + "\msde\setup.exe")

psInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal

myProcess.StartInfo = psInfo
myProcess.Start()
While Not myProcess.HasExited

MessageBox.Show("请等待数据库软件安装完成后,按<确定>继续……")
End While
myProcess.Close()

…………
ejoe313 2008-08-19
  • 打赏
  • 举报
回复
似乎要用多线程吧

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧