7zip自解压exe中的空格问题“提取到”文件夹名称

时间:2012-07-31 02:27:10

标签: executable 7zip self-extracting

我们已经使用7zip几年来压缩我们的软件包来创建一个自解压缩的可执行文件。我们的默认InstallPath是没有空格的路径,例如C:\Install\Downloads,这很好用。但是,当路径更改为自定义位置时,文件夹名称中包含空格,例如C:\my temp folder\Downloads然后提取仍然会成功,但无法找到可执行文件并且无法运行。

弹出的错误消息是 执行期间出错“C:\ my temp folder \ Downloads \ foo \ setup.exe”。系统找不到指定的文件。 如果打开它所引用的文件夹位置,那么setup.exe文件肯定存在。似乎自定义文件位置中的空格混淆了启动配置文件中RunProgram变量中指定的可执行文件。

我们的配置文件:

;!@Install@!UTF-8!
Title="FOO PACKAGE NAME"
CancelPrompt="Are you sure you want to cancel?"
FinishMessage="Files were successfully extracted"
GUIFlags="8+128"
OverwriteMode="0"
InstallPath="C:\\Install\\Downloads"
ExtractPathText="Select extraction path"
ExtractPathTitle="FOO TITLE"
ExtractCancelText="Abort"
RunProgram="%%T\foo\setup.exe"
;!@InstallEnd@!

有任何帮助吗?

1 个答案:

答案 0 :(得分:0)

我明白了。如果RunProgram变量包含在一组双引号中,则它适用于带或不带空格的文件路径。

RunProgram="\"%%T\foo\setup.exe\""