安装所有文件后如何运行批处理文件IExpress

问题描述

所以我有 2 个文件一个包含我所有游戏文件/文件夹的压缩文件一个 unzipper.bat 文件,它将所有内容放在正确的位置。

我决定使用 IExpress 为我的游戏制作安装程序,并且有一个在安装时运行文件的选项,所以我把 setup.bat 放在那里,认为它会在安装所有文件后运行,但它没有这样做。

我怎样才能让它运行 setup.bat 的所有文件都已安装?

编辑:这是我当前的 SED 文件

[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=0
HideExtractAnimation=1
UseLongFileName=0
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=I
InstallPrompt=%InstallPrompt%
displayLicense=%displayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=Are you sure you want to install Block Dodger?
displayLicense=
FinishMessage=Thank you for installing Block Dodger.
TargetName=C:\Users\Gebruiker\Desktop\Block Dodger (installer).EXE
FriendlyName=Block Dodger installer
AppLaunched=cmd.exe /c unzipper.bat
PostInstallCmd=%systemRoot%\System32\cmd.exe /C unzipper.bat
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="Block_Dodger.zip"
FILE1="unzipper.bat"
[SourceFiles]
SourceFiles0=C:\Users\Gebruiker\Desktop\
[SourceFiles0]
%FILE0%=
%FILE1%=

当我运行安装程序时出现以下错误

error

找不到的批处理文件 (shortcut_creator.bat) 位于应该解压缩的压缩文件 unzipper.bat 中。

这是unzipper.bat的内容

@echo off
setlocal
cd /d %~dp0
Call :UnZipFile "%~dp0" "%~dp0Block_Dodger.zip"
exit /b

:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs%  echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).copyHere(FilesInZip)
>>%vbs% echo Set fso = nothing
>>%vbs% echo Set objShell = nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%

del /f /q "%~dp0Block_Dodger.zip"

start /d "%~dp0Block_Dodger" shortcut_creator.bat

编辑 2:我刚刚选中了“在包内使用长文件名存储文件”框,现在它可以工作了,现在唯一剩下的就是如何更改文件的最终位置?

解决方法

在您的 SED 文件中,PostInstallCmd 应设置为:

PostInstallCmd="%SystemRoot%\System32\cmd.exe /C setup.bat"
,

我通过选中“在包内使用长文件名存储文件”框来修复它

您也可以通过转到 SED 文件并进行设置来实现

UseLongFileName=0

UseLongFileName=1