安装所有文件后如何运行批处理文件(IExpress)
how to run batch file after installing all files (IExpress)
所以我有 2 个文件,一个压缩文件包含我所有 files/folders 的游戏和一个 unzipper.bat 文件,将所有内容放在正确的位置工作。
我决定使用 IExpress 为我的游戏制作安装程序,并且有一个选项可以在安装时 运行 设置一个文件,所以我把 setup.bat 放在那里认为它会 运行 当所有文件都已安装时,但它并没有这样做。
我怎样才能让它 运行s 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%=
当我 运行 安装程序时,出现以下错误:
无法找到的批处理文件 (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
所以我有 2 个文件,一个压缩文件包含我所有 files/folders 的游戏和一个 unzipper.bat 文件,将所有内容放在正确的位置工作。
我决定使用 IExpress 为我的游戏制作安装程序,并且有一个选项可以在安装时 运行 设置一个文件,所以我把 setup.bat 放在那里认为它会 运行 当所有文件都已安装时,但它并没有这样做。
我怎样才能让它 运行s 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%=
当我 运行 安装程序时,出现以下错误:
无法找到的批处理文件 (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