Bonjour.

Je cherche à faire un Setup pour une application développée et postée sur ce site.
Il s'agit d'un script de merge de branche sous SourceSafe, disponible ici

Voici le code complêt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
[__ISToolPreCompile]
Name: cscript; Parameters: CopyFiles.vbs {cm:VERSION}; Flags: abortonerror runminimized
 
[CustomMessages]
VERSION=2.3
SSMergeBranchsVbs=SSMergeBranchs_{cm:VERSION}.vbs
fr.CurrentLanguageIni=FR
en.CurrentLanguageIni=US
fr.CommentaireSSMergeBranch=Exécuter le script de fusion de branches
en.CommentaireSSMergeBranch=Run merge branchs scripts
fr.InstallerKDiff3=Installer KDiff3 v0.9.95
en.InstallerKDiff3=Install KDiff3 v0.9.95
fr.TypeNormalDescription=Installation complète
en.TypeNormalDescription=Full install
fr.SSMergeBranchsURL=http://www.developpez.net/forums/d702218/autres-langages/general-visual-basic-6-vbscript/vbscript/vos-contributions-vbscript/merge-branche-sous-visual-sourcesafe/
en.SSMergeBranchsURL=http://www.toto.net
 
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{01A542F1-DD76-4DC2-981E-E080434F9DEE}
AppName=SSMergeBranchs
AppVerName=SSMergeBranchs {cm:VERSION}
AppPublisher=Feneck91
AppPublisherURL=http://www.example.com/
AppSupportURL=http://www.example.com/
AppUpdatesURL=http://www.example.com/
DefaultDirName={pf}\SSMergeBranchs
DefaultGroupName=SSMergeBranchs
AllowNoIcons=true
LicenseFile=SSMergeBranchsSetup\SetupFiles\Licence.txt
OutputBaseFilename=SSMergeBranchsSetup
SetupIconFile=SSMergeBranchsSetup\SetupFiles\Icon\install.ico
Compression=lzma
SolidCompression=true
; Masque la page de sélection et le groupe de programme si mise à jour
DisableDirPage=false
DisableProgramGroupPage=false
OutputDir=SSMergeBranchsSetup\Output
 
 
[Languages]
Name: en; MessagesFile: compiler:Default.isl; InfoBeforeFile: SSMergeBranchsSetup\SetupFiles\Before_Install.us.txt; InfoAfterFile: SSMergeBranchsSetup\SetupFiles\After_Install.us.txt
Name: fr; MessagesFile: compiler:Languages\French.isl; InfoBeforeFile: SSMergeBranchsSetup\SetupFiles\Before_Install.fr.txt; InfoAfterFile: SSMergeBranchsSetup\SetupFiles\After_Install.fr.txt
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
 
[Files]
Source: SSMergeBranchsSetup\Software\SSMergeBranchs_{cm:VERSION}.vbs; DestDir: {app}; Flags: ignoreversion
Source: SSMergeBranchsSetup\Software\SSMergeBranchs.fr.lng; DestDir: {app}; Flags: ignoreversion
Source: SSMergeBranchsSetup\Software\SSMergeBranchs.us.lng; DestDir: {app}; Flags: ignoreversion
Source: SSMergeBranchsSetup\Software\Lib\*; DestDir: {app}\Lib; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: SSMergeBranchsSetup\Software\CurrentMerging.ini; DestDir: {app}; Flags: uninsremovereadonly onlyifdoesntexist ignoreversion
Source: SSMergeBranchsSetup\Software\SSMergeBranchs.ini; DestDir: {app}; Flags: uninsremovereadonly onlyifdoesntexist ignoreversion
Source: SSMergeBranchsSetup\Software\SSMergeBranchs_log.txt; DestDir: {app}; Flags: uninsremovereadonly onlyifdoesntexist ignoreversion
Source: SSMergeBranchsSetup\SetupFiles\ExternalInstallers\KDiff3Setup_0.9.95.exe; Flags: deleteafterinstall; DestDir: {tmp}
Source: SSMergeBranchsSetup\SetupFiles\Licence.txt; DestDir: {app}; DestName: COPYING.LESSER.TXT
Source: SSMergeBranchsSetup\SetupFiles\Icon\install.ico; DestDir: {app}\Icons; Flags: ignoreversion
Source: SSMergeBranchsSetup\SetupFiles\Icon\uninstall.ico; DestDir: {app}\Icons; Flags: ignoreversion
Source: SSMergeBranchsSetup\SetupFiles\Icon\SSMergeBranchsWeb.ico; DestDir: {app}\Icons; Flags: ignoreversion
Source: SSMergeBranchsSetup\SetupFiles\Icon\SSMergeBranchs.ico; DestDir: {app}\Icons; Flags: ignoreversion
 
[Icons]
Name: {group}\SSMergeBranchs; Filename: cscript; Parameters: """{app}\SSMergeBranchs_{cm:VERSION}.vbs"""; Tasks: ; Languages: ; IconFilename: {app}\Icons\SSMergeBranchs.ico; Comment: {cm:CommentaireSSMergeBranch}; IconIndex: 0
Name: {group}\{cm:ProgramOnTheWeb,SSMergeBranchs}; Filename: {cm:SSMergeBranchsURL}; IconFilename: {app}\Icons\SSMergeBranchsWeb.ico; IconIndex: 0; Comment: SSMergeBranchs Web
Name: {group}\{cm:UninstallProgram,SSMergeBranchs}; Filename: {uninstallexe}; IconFilename: {app}\Icons\uninstall.ico; IconIndex: 0
Name: {commondesktop}\SSMergeBranchs; Filename: cscript; Tasks: desktopicon; Parameters: """{app}\SSMergeBranchs_{cm:VERSION}.vbs"""; IconFilename: {app}\Icons\SSMergeBranchs.ico; IconIndex: 0
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\SSMergeBranchs; Filename: cscript; Tasks: quicklaunchicon; Parameters: """{app}\SSMergeBranchs_{cm:VERSION}.vbs"""; IconFilename: {app}\Icons\SSMergeBranchs.ico; IconIndex: 0
 
[Run]
Filename: {app}\SSMergeBranchs_{cm:VERSION}.vbs; Description: {cm:LaunchProgram,SSMergeBranchs}; Flags: shellexec postinstall skipifsilent
Filename: {tmp}\KDiff3Setup_0.9.95.exe; WorkingDir: {tmp}; Flags: hidewizard; Components: " ComposantKDiff3"; Tasks: ; Languages: 
 
[INI]
Filename: {app}\SSMergeBranchs.ini; Section: Options; Key: CurrentLanguage; String: {cm:CurrentLanguageIni}; Flags: createkeyifdoesntexist; Languages: " fr en"
 
[UninstallDelete]
Name: {app}\CurrentMerging.ini; Type: files
Name: {app}\SSMergeBranchs.ini; Type: files
Name: {app}\SSMergeBranchs_log.txt; Type: files; Tasks: ; Languages: 
Name: {app}\*.scc; Type: files
Name: {app}\*.htm; Type: files
 
[Components]
Name: ComposantKDiff3; Description: {cm:InstallerKDiff3}; Languages: ; Types: Normal; Check: checkIfKDiffShouldBeInstalled
 
[Types]
Name: Normal; Description: {cm:TypeNormalDescription}; Flags: iscustom
 
[Registry]
Root: HKLM; Subkey: SOFTWARE\SSMergeBranch; ValueType: string; ValueName: Path; ValueData: {app}; Flags: createvalueifdoesntexist uninsdeletekey
Root: HKLM; Subkey: SOFTWARE\SSMergeBranch; ValueType: string; ValueName: Version; ValueData: {cm:VERSION}; Flags: createvalueifdoesntexist uninsdeletekey
 
Function checkIfKDiffShouldBeInstalled: Boolean;
Begin
    If RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\KDiff3') Then
    Begin
        Result := False;
    End
    Else
    Begin
        Result := True;
    End;
End;
Le problème vient de la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Source: SSMergeBranchsSetup\Software\SSMergeBranchs_{cm:VERSION}.vbs; DestDir: {app}; Flags: ignoreversion
En effet, j'ai initialisé une variable VERSION qui vaut 2.3 actuellement.
Or, j'aimerais toucher au script le moins possible lorsque je ferais une 2.4 (par exemple) et ne modifier que la variable VERSION.

Or, il s'avère que je n'arrive pas à avoir une source de fichier qui n'est pas "claquée en dur". si je pouvais appeler le script ou une définir une variable ou quoi que ce soit après "Source:", afin que la modification de la variable version ai un effet de bord sur tout le script ça serait super.

A priori sur la cible on peut faire des choses mais sur la source ça a l'air plus compliqué ou tout simplement pas prévu.

Quelqu'un a-t-il déja eu ce souci ?