我需要将.NET framework 4部署到运行服务器的所有域用户计算机上。我创建了一个控制台应用程序,它将从用户登录到域时启动的登录脚本自动运行。
我当前的代码能够链接到服务器上的安装文件并自动运行。但是我无法在安静模式下运行它,即使用/ q。每次运行安装文件时,都会要求用户提示安装,即“单击下一步”和“安装”。
我当前的代码如下所示(出于安全原因,我已更改了登录详细信息和文件路径。但该文件位于服务器上,登录详细信息是主管理员帐户) -
Function ConvertToSecureString(ByVal str As String)
Dim password As New SecureString
For Each c As Char In str.ToCharArray
password.AppendChar(c)
Next
Return password
End Function
Sub Main()
Dim securePass As New Security.SecureString()
Dim password As SecureString = ConvertToSecureString("password")
Dim myProcess As New Process()
myProcess.StartInfo.Arguments = "/q"
myProcess.Start("C:\dotNetFx40_Full_x86_x64.exe", "user", password, Nothing)
myProcess.StartInfo.CreateNoWindow = True
End Sub
根据我对研究的理解,行myProcess.StartInfo.Arguments = "/q"
旨在在没有用户提示的情况下在后台静默运行安装。但它不起作用。
答案 0 :(得分:0)
管理修复它并进行解决。我只是错放了行myProcess.StartInfo.Arguments = "/q"
相反,我只是将它包含在Process.Start行中并删除了Process Object。所以现在我有:
Process.Start("C:\dotNetFx40_Full_x86_x64.exe", "/passive", "user", password, Nothing)
我已将“/ q”更改为“/ passive”,因为它显示了完成的进度条。
无论如何,谢谢你的建议。
格雷格