für das Erzeugen von Links sind in einem Anwendungsfall eine Reihe von Parametern zu übergeben. Die Verarbeitung des Strings ist in diesem Fall jedoch fehlerhaft.
Deutlicher wird das am Beispielcode:
Code: Alles auswählen
[actions]
setLogLevel=9
DefVar $AppName$
DefVar $AppTarget$
DefVar $AppParameters$
DefVar $InstallDir$
set $AppName$ = "Awesome Applic"
set $InstallDir$ = "c:\App Dir\"
set $AppTarget$ = '"' + $InstallDir$ + 'app.exe"'
; Parameter werden korrekt im Link gesetzt:
;set $AppParameters$ = 'dir="' + $InstallDir$ + 'modules\" "' + $InstallDir$ + 'mod1.bin"'
;set $AppParameters$ = '-v "' + $InstallDir$ + 'modules\" "' + $InstallDir$ + 'mod1.bin"'
; Parameter werden FALSCH im Link gesetzt:
set $AppParameters$ = '"' + $InstallDir$ + 'modules\" "' + $InstallDir$ + 'mod1.bin"'
; ...es bleibt nur "c:\App Dir\modules\" (ohne Anführungszeichen) übrig; der zweite Pfad entfällt
comment "Parameters: ["+ $AppParameters$ +"]"
LinkFolder_CreateDesktopLink
;=====================================================================
[LinkFolder_CreateDesktopLink]
;=====================================================================
set_basefolder desktopdirectory
set_subfolder ""
set_link
name: $AppName$
target: $AppTarget$
parameters: $AppParameters$
working_dir: %UserProfileDir%\Documents
icon_file:
icon_index:
end_link
Beginnt der String jedoch mit einem anderen Zeichen (ausser Space; im obigen Beispiel '-v' oder 'dir='), ist der erzeugte Link korrekt.
Version opsi-script: 4.12.0.21
Viele Grüsse,
Jens