跨域创建.NET Framework静默安装的部署应用程序?

时间:2013-01-22 10:07:34

标签: .net vb.net .net-4.0

我需要将.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"旨在在没有用户提示的情况下在后台静默运行安装。但它不起作用。

1 个答案:

答案 0 :(得分:0)

管理修复它并进行解决。我只是错放了行myProcess.StartInfo.Arguments = "/q" 相反,我只是将它包含在Process.Start行中并删除了Process Object。所以现在我有:

Process.Start("C:\dotNetFx40_Full_x86_x64.exe", "/passive", "user", password, Nothing)

我已将“/ q”更改为“/ passive”,因为它显示了完成的进度条。

无论如何,谢谢你的建议。

格雷格

相关问题