-1

行き止まりになってしまったので、これが私の最初の質問です。私はZIP2Secure EXE(Chilkatの非常に優れたソフトウェア)を使用して、アプリケーション用のsetup.exeを作成しています。ZIP 2 Secure EXEは、1つ以上のパラメーターを使用してGUIなしで実行できます。
問題は、OpenFileDialogフォームを使用せずにZIP 2 Secure EXE(ChilkatZipSE.exe)を呼び出して、ChilkatZipSE.exeの場所を特定すると、System.Diagnostics.Processクラスでプロセスが実行されないことです。私がChilkatZipSE.exeを呼び出す方法は、「.. \ChilkatZipSE.exe-cfgsettings.xml」です。settings.xmlですべて問題なく、setup.exeファイルの作成に必要なUnlockCodeノードがあります。OpenFileDialogを使用すると、ChilkatZipSE.exeによって目的のsetup.exeが作成され、正常に動作します。
以下は私が使用する私のコードです:

Private Sub btnStartApp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartApp.Click

    If txtExtAppPath.Text.Length > 0 AndAlso System.IO.File.Exists(txtExtAppPath.Text) Then

        Dim myFile As New FileInfo(txtExtAppPath.Text)
        txtExtAppLog.Text = StartApplication(myFile.FullName, txtExtParams.Text, chkIsHidden.Checked)
        'txtExtAppLog.Text = StartApplication(txtExtAppPath.Text, txtExtParams.Text, chkIsHidden.Checked)

    End If

End Sub

Public Function StartApplication(ByVal fileFullPath_ As String, ByVal fileParameter_ As String, ByVal isHidden_ As Boolean) As String

    Dim lassie As String = String.Empty

    Try

        Dim newProcess As New ProcessStartInfo()
        newProcess.FileName = fileFullPath_
        newProcess.Arguments = fileParameter_
        If isHidden_ Then newProcess.WindowStyle = ProcessWindowStyle.Hidden

        If System.IO.File.Exists(fileFullPath_) Then

            Using startedNewProcess As Process = Process.Start(newProcess)
                'startedNewProcess.EnableRaisingEvents = True
                startedNewProcess.WaitForExit()
            End Using

        Else

            lassie = "File " + fileFullPath_ + " doesn't exist."

        End If

    Catch ex As Exception

        lassie = ex.Message

    End Try

    Return lassie

End Function

ありがとう、magnumx。

4

1 に答える 1

0

問題は与えられたパラメータでした。OpenFileDialogを使用すると、settings.xmlがどこにあるかがわかります。ただし、OpenFileDialogを使用せずに「.. \ChilkatZipSE.exe-cfgsettings.xml」を呼び出す場合は「..\ChilkatZipSE.exe-cfg ..\settings.xml」として使用する必要があります。

于 2017-06-17T22:26:30.267 に答える