VBアプリケーションのリソース内のファイルのパスを探しています。アプリケーションは簡単です。実行するコマンドに埋め込みリソースを追加します。
自動的に.7zファイルを自己解凍して起動するファイルにします。この、7zS.sfx、config.txtをと.7zアーカイブすなわちFruits.7zへ
3部
7zS.sfxとのconfig.txtは変更されることはありませんので、私はそれらを埋め込むことを期待しています、 .7zアーカイブがアプリケーションにドラッグされます。 コピー/ Bのリソースパス\ 7zS.sfx +リソースパスの\ config.txtを+ C:\ Users \ユーザー%名%\デスクトップ\フルーツ\ Fruit_List.7zフルーツ
今私はあるcommmandを実行する必要があります。 exe
私はこれをMy.Resource.config.txtで数回試しました。ファイルを1バイトとして読み込みます。私はコマンドプロンプトもそれが構築された後にそれを処理しますが手つかずのファイルが必要です。
MyUtilities.RunCommandCom("copy /b c:\FruitTemp\7zS.sfx + c:\FruitTemp\config.txt + C:\Users\%username%\Desktop\Fruit\FruitArchive.7z c:\users\%username%\desktop\Fruit.exe", "/C", True)
Shared Sub RunCommandCom(command As String, arguments As String, permanent As Boolean)
Dim p As Process = New Process()
Dim pi As ProcessStartInfo = New ProcessStartInfo()
pi.Arguments = " " + If(permanent = True, "/K", "/C") + " " + command + " " + arguments
pi.FileName = "cmd.exe"
p.StartInfo = pi
p.Start()
End Sub
埋め込みリソースは、上記のコマンドからわかるように、バイトで実行され、一時的な場所に格納されるようになりました。ただし、このコマンドは実行されません。構文が正しくないことを示します。
通常、リソースはアプリケーションに組み込まれています。外部アプリケーションで使用するには、バイト配列を取り出してファイルに書き込む必要があります。 –
埋め込みファイルをtempの場所に書き込んだ後、そのtempの場所に基づいてコマンドを実行しますか?どのようなヒントを行うには? – MrAnderson1992
'File.WriteAllBytes()'は良いスタートです。 –