2017-11-02 3 views
1

私は、ドメインコンピュータにウイルス対策ソフトウェアの存在を確認しているWindows VB.netフォームを作成しています。アプリケーションが見つからない場合、インストーラはDomain ComputersのローカルC:\ドライブにコピーされます。すべて正常に動作しますが、パズルの最後の部分は、.exeインストーラをWMI Win32_Process.Createなどのバックグラウンドプロセスとして呼び出すことです。私は.txtファイルでソフトウェアを必要とするドメインコンピュータがありますが、私はこの方法を動作させるのに苦労しています。私はPowerShellがこれにはもっと適しているかもしれないが、これは一貫してセットアップされていない70の異なるサイトで使用されることを認識しています。このアプリケーションでは、スクリプトを調整するのではなく、簡単なユーザー操作(サイトITエンジニア)が可能です。これを実装する最良の方法についてのご意見は、大変ありがたく思います。ドメインコンピュータWMIプロセスのStsrt.exeインストーラ

私がこれまで持っているどのような......

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles InstallButton.Click 

    Dim PCsource As String = "C:\Path\Install.txt" 
    Dim Check As String 
    Dim strCommand As String = "Antivirus.exe" 

    If System.IO.File.Exists(PCsource) = True Then 
     Dim Computer As New System.IO.StreamReader(PCsource) 
     Do While Computer.Peek() <> -1 
      Check = Computer.ReadLine() 


     Loop 
    End If 

End Sub 

答えて

0

私はそれが必要とする必要なファイルをダウンロードした後、exeファイルを起動する更新プログラムを持っています。それは次のコードを使用します:

Dim MyPath As String 
    MyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) 
    Dim SoftwarePath As String = MyPath & "\Program.exe" 

    If File.Exists(SoftwarePath) Then 
     Process.Start(SoftwarePath, "") 

     Application.Exit() 
    End If 
+0

ありがとうRussAwesome、問題はProcess.Startはローカルマシンでのみ動作するようです。アプリケーションは、.txtファイル内のすべてのネットワークドメインコンピュータ上でプロセスを起動する必要があります –

+0

'Process.Start(@" \\ Server-Name \ Shared Folder \ Program.exe ");'を使用することができます。 '@'文字は '\'がUNCパスの一部としてエスケープされないようにします。 – RussAwesome

関連する問題