我需要能够在不同的机器上运行安装程序,这基本上是为了最小化用户输入,例如,我有7台不同的计算机通过专用网络连接,但机器1是一个驻留主数据库和其他软件,我需要从机器1运行软件更新到所有机器。
Dim p As New Process
p.StartInfo.FileName = "\\SHOP" & box & TextBox1.Text & "\E\VastUpdate\AutoITUpdater.exe"
p.StartInfo.Arguments = "/i AutoITUpdater.exe"
p.Start()
答案 0 :(得分:0)
使用PsExec。
以下是一个示例代码:
Dim application As String = "\\SHOP" & box & TextBox1.Text & "\E\VastUpdate\AutoITUpdater.exe"
Dim arguments As String = "/i AutoITUpdater.exe"
Dim location_of_psexec As String = "c:\pstools\psexec.exe"
Dim remote_machine As String = "remote_machine"
Dim process As Process = New Process()
process.StartInfo.UseShellExecute = False
process.StartInfo.CreateNoWindow = True
process.StartInfo.FileName = location_of_psexec
process.StartInfo.Arguments = String.Format("\\{0} -c ""{1}"" ""{2}""", remote_machine, application, arguments)
process.Start()
我在我的代码中假设应用程序路径(例如"\\SHOP" & box & TextBox1.Text & "\E\VastUpdate\AutoITUpdater.exe"
)与您的计算机相关,而不是远程计算机。
如果您想使用相对于远程计算机的路径,只需从-c
process.StartInfo.Arguments
即可