I’m using IExpress to create a self-extracting / self-installing package (.EXE) and a Self-Extraction Directive file (.SED). When moving the files from a test environment to a production one, I’ve noticed that the strings TargetName (target path and filename of the package) and SourceFiles0 (folder of the packaged files) were hardcoded, and so the creation of a new package failed because no folder/files were found in the “old” path.
[Version]
Class=IEXPRESS
SEDVersion=3
[Options]
PackagePurpose=InstallApp
ShowInstallProgramWindow=1
HideExtractAnimation=1
UseLongFileName=1
InsideCompressed=0
CAB_FixedSize=0
CAB_ResvCodeSigning=0
RebootMode=N
InstallPrompt=%InstallPrompt%
DisplayLicense=%DisplayLicense%
FinishMessage=%FinishMessage%
TargetName=%TargetName%
FriendlyName=%FriendlyName%
AppLaunched=%AppLaunched%
PostInstallCmd=%PostInstallCmd%
AdminQuietInstCmd=%AdminQuietInstCmd%
UserQuietInstCmd=%UserQuietInstCmd%
SourceFiles=SourceFiles
[Strings]
InstallPrompt=
DisplayLicense=
FinishMessage=
TargetName=C:\Test\MyPackage.exe
FriendlyName= MyPackage
AppLaunched= MyPackage.cmd
PostInstallCmd=<None>
AdminQuietInstCmd=
UserQuietInstCmd=
FILE0="MyPackage.cmd"
FILE1=" MyPackage.ps1"
[SourceFiles]
SourceFiles0=C:\Test\MyChildFolder\
[SourceFiles0]
%FILE0%=
%FILE1%=
I’ve tried writing just the filename for TargetName or child folder for SourceFiles0, but I’ve got an error message. The same goes for “.\” or ”%~dp0” or ”$(srcdir)\” (without the double quotes) I’ve tried using IExpress GUI wizard and command-line tool.
Does anyone know how to pass a path relative to the .sed file itself to those strings?