我希望在VB应用程序的资源中找到文件的路径。应用程序很简单。
它会自动将.7z文件转换为自解压和启动文件。
3部分,7zS.sfx,config.txt和.7z档案,即Fruits.7z
7zS.sfx和config.txt永远不会改变,所以我希望嵌入它们,.7z存档将被拖入应用程序。
现在我需要运行一个命令: copy / b RESOURCE PATH \ 7zS.sfx + RESOURCE PATH \ config.txt + C:\ Users \%username%\ Desktop \ Fruits \ Fruit_List.7z Fruits.exe
我已经用My.Resource.config.txt多次尝试过,把它作为一个字节加载文件。我需要文件不变,命令提示符也会在构造之后处理它。
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
现在,嵌入式资源在字节中运行并存储在临时位置,如上面的命令所示。但是此命令不会运行。它声明语法不正确。
答案 0 :(得分:0)
首先,运行时没有资源文件。重点是资源被编译成EXE的二进制代码。其次,如果你添加一个名为' config.txt'对于您的资源,资源属性将为My.Resources.config
。您不能拥有带点的属性名称。
因此,您需要确定该属性的类型,然后以适当的方式将其保存到文件中。它可能是String
或Byte()
,因此您可以拨打File.WriteAllText
或File.WriteAllBytes
。