Subversion Repositories decoder

Rev

Rev 2 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 daniel-mar 1
; (De)Coder Script für InnoSetup 5.1.9
2
; Fehler bei Uninstallation: ReadOnly, Anwendung in Benutzung
3
 
4
[Setup]
5
AppName=(De)Coder
6
AppVerName=(De)Coder 4.1 Public Beta 4b
7
AppVersion=4.1.0.0
6 daniel-mar 8
AppCopyright=© Copyright 2001 - 2007 ViaThinkSoft
2 daniel-mar 9
AppPublisher=ViaThinkSoft
6 daniel-mar 10
AppPublisherURL=https://www.viathinksoft.de/
11
AppSupportURL=https://www.daniel-marschall.de/
12
AppUpdatesURL=https://www.viathinksoft.de/
13
DefaultDirName={autopf}\(De)Coder
2 daniel-mar 14
DefaultGroupName=(De)Coder
15
UninstallDisplayIcon={app}\Coder.exe
16
VersionInfoCompany=ViaThinkSoft
6 daniel-mar 17
VersionInfoCopyright=© Copyright 2001 - 2007 ViaThinkSoft
2 daniel-mar 18
VersionInfoDescription=(De)Coder 4.1 Setup
19
VersionInfoTextVersion=1.0.0.0
20
VersionInfoVersion=4.1.0.0
21
WizardImageFile=Images\Large.bmp
22
WizardSmallImageFile=Images\Small.bmp
6 daniel-mar 23
OutputDir=.
24
OutputBaseFilename=DeCoder_Setup
2 daniel-mar 25
SetupIconFile=Icon.ico
6 daniel-mar 26
; Configure Sign Tool in InnoSetup at "Tools => Configure Sign Tools" (adjust the path to your SVN repository location)
27
; Name    = sign_single   
28
; Command = "C:\SVN\...\sign_single.bat" $f
29
SignTool=sign_single
30
SignedUninstaller=yes
2 daniel-mar 31
 
32
[Languages]
33
Name: de; MessagesFile: "compiler:Languages\German.isl"; LicenseFile: "License\German.txt"
34
Name: en; MessagesFile: "compiler:Default.isl"; LicenseFile: "License\English.txt"
35
Name: fr; MessagesFile: "compiler:Languages\French.isl"; LicenseFile: "License\French.txt"
36
 
37
[Files]
38
; Allgemein
6 daniel-mar 39
Source: "..\Quelltext\Coder.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion signonce
40
Source: "..\Quelltext\Activator.exe"; DestDir: "{app}"; Flags: restartreplace ignoreversion signonce
2 daniel-mar 41
Source: "..\Quelltext\style.css"; DestDir: "{app}"; Flags: restartreplace
6 daniel-mar 42
Source: "..\Quelltext\ShlExt.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion signonce
43
Source: "..\Quelltext\ShlErase.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion signonce
44
Source: "..\Quelltext\SecureMoveExt.dll"; DestDir: "{app}"; Flags: restartreplace ignoreversion signonce
2 daniel-mar 45
; Deutsch
46
Source: "..\Quelltext\Help.html"; DestDir: "{app}"; Flags: isreadme; DestName: "Help.html"; Languages: de
47
Source: "..\Quelltext\funktionsweise_1.gif"; DestDir: "{app}"; DestName: "funktionsweise_1.gif"; Languages: de
48
Source: "..\Quelltext\funktionsweise_2.gif"; DestDir: "{app}"; DestName: "funktionsweise_2.gif"; Languages: de
49
Source: "..\Quelltext\funktionsweise_3.gif"; DestDir: "{app}"; DestName: "funktionsweise_3.gif"; Languages: de
50
Source: "..\Quelltext\Language.ini"; DestDir: "{app}"; Languages: de
51
; Englisch
52
Source: "..\Quelltext\Help-Eng.html"; DestDir: "{app}"; Flags: isreadme; DestName: "Help.html"; Languages: en
53
Source: "..\Quelltext\funktionsweise_1.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_1.gif"; Languages: en
54
Source: "..\Quelltext\funktionsweise_2.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_2.gif"; Languages: en
55
Source: "..\Quelltext\funktionsweise_3.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_3.gif"; Languages: en
56
Source: "..\Quelltext\Language-Eng.ini"; DestDir: "{app}"; DestName: "Language.ini"; Languages: en
57
; Französisch
58
Source: "..\Quelltext\Help-Fr.html"; DestDir: "{app}"; Flags: isreadme; DestName: "Help.html"; Languages: fr
59
Source: "..\Quelltext\funktionsweise_1.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_1.gif"; Languages: fr
60
Source: "..\Quelltext\funktionsweise_2.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_2.gif"; Languages: fr
61
Source: "..\Quelltext\funktionsweise_3.gif"; DestDir: "{app}"; Flags: isreadme; DestName: "funktionsweise_3.gif"; Languages: fr
62
Source: "..\Quelltext\Language-Fr.ini"; DestDir: "{app}"; DestName: "Language.ini"; Languages: fr
63
 
64
[CustomMessages]
65
; Deutsch
66
de.dateienvernichten=Temporäre Dateien vernichten
67
de.hilfe=%1 Hilfe
68
de.webseiten=Webseiten
69
; Englisch
70
en.dateienvernichten=Erase tempoary files
71
en.hilfe=%1 Help
72
en.webseiten=Websites (German)
73
; Französisch
74
fr.dateienvernichten=Effacez les dossiers tempoary
75
fr.hilfe=L'aide pour %1
76
fr.webseiten=Web (en allemand)
77
 
6 daniel-mar 78
;[Folders]
79
;Name: "{group}\Webseiten"; Languages: de
80
;Name: "{group}\Websites (German)"; Languages: en
81
;Name: "{group}\Web (en allemand)"; Languages: fr
2 daniel-mar 82
 
83
[Icons]
84
; Allgemein
85
Name: "{group}\(De)Coder"; Filename: "{app}\Coder.exe"
86
;Name: "{userdesktop}\(De)Coder"; Filename: "{app}\Coder.exe"; Tasks: "desktopicon"
87
Name: "{group}\{cm:UninstallProgram,(De)Coder}"; Filename: "{uninstallexe}"
88
Name: "{group}\{cm:dateienvernichten}"; Filename: "{app}\Coder.exe"; Parameters: "/clean"; IconFilename: "{app}\Coder.exe"; IconIndex: "2"
89
Name: "{group}\{cm:hilfe,(De)Coder}"; Filename: "{app}\Coder.exe"; Parameters: "/?"; IconFilename: "{app}\Coder.exe"; IconIndex: "3"
90
; Deutsch
6 daniel-mar 91
;Name: "{group}\{cm:webseiten}\Daniel Marschalls Webportal"; Filename: "https://www.daniel-marschall.de/"; Languages: de
92
;Name: "{group}\{cm:webseiten}\ViaThinkSoft"; Filename: "https://www.viathinksoft.de/"; Languages: de
93
;Name: "{group}\{cm:webseiten}\Projektseite auf ViaThinkSoft"; Filename: "https://www.viathinksoft.de/index.php?page=projektanzeige&seite=projekt-18"; Languages: de
2 daniel-mar 94
; Englisch
6 daniel-mar 95
;Name: "{group}\{cm:webseiten}\Daniel Marschalls web portal"; Filename: "https://www.daniel-marschall.de/"; Languages: en
96
;Name: "{group}\{cm:webseiten}\ViaThinkSoft"; Filename: "https://www.viathinksoft.de/"; Languages: en
97
;Name: "{group}\{cm:webseiten}\Projectpage on ViaThinkSoft"; Filename: "https://www.viathinksoft.de/index.php?page=projektanzeige&seite=projekt-18"; Languages: en
2 daniel-mar 98
; Französisch
6 daniel-mar 99
;Name: "{group}\{cm:webseiten}\Daniel Marschalls portail de Web"; Filename: "https://www.daniel-marschall.de/"; Languages: fr
100
;Name: "{group}\{cm:webseiten}\ViaThinkSoft"; Filename: "https://www.viathinksoft.de/"; Languages: fr
101
;Name: "{group}\{cm:webseiten}\Page de projet dans ViaThinkSoft"; Filename: "https://www.viathinksoft.de/index.php?page=projektanzeige&seite=projekt-18"; Languages: fr
2 daniel-mar 102
 
103
[Tasks]
104
; Allgemein
105
;Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; MinVersion: 4,4
106
; Deutsch
107
Name: "registerserver"; Description: "Dateien und Ordner einen &Kontextmenüeintrag geben"; GroupDescription: "Voreinstellungen (später unter Konfiguration änderbar):"; MinVersion: 4,4; Languages: de
108
Name: "filetype"; Description: "DC4-Dateien mit (De)Coder &assoziieren"; GroupDescription: "Voreinstellungen (später unter Konfiguration änderbar):"; MinVersion: 4,4; Languages: de
109
; Englisch
110
Name: "registerserver"; Description: "Give files and folders a &contextmenuentry"; GroupDescription: "Settings (changeable after installation):"; MinVersion: 4,4; Languages: en
111
Name: "filetype"; Description: "&Associate DC4-Files with (De)Coder"; GroupDescription: "Settings (changeable after installation):"; MinVersion: 4,4; Languages: en
112
; Französisch
113
Name: "registerserver"; Description: "Donnez les fichies et les dossiers une entrée de menu &contextuel"; GroupDescription: "Arrangements (variables après installation):"; MinVersion: 4,4; Languages: fr
114
Name: "filetype"; Description: "&Associé DC4-Files avec (De)Coder"; GroupDescription: "Arrangements (variables après installation):"; MinVersion: 4,4; Languages: fr
115
 
116
[Registry]
117
; DC4-Dateityp registrieren
118
Root: HKCR; Subkey: ".dc4"; Flags: uninsdeletekey; Tasks: filetype
119
Root: HKCR; Subkey: ".dc4"; ValueType: string; ValueName: ""; ValueData: "DeCoder4-File"; Tasks: filetype
120
Root: HKCR; Subkey: "DeCoder4-File"; Flags: uninsdeletekey; Tasks: filetype
121
; Deutsch
122
Root: HKCR; Subkey: "DeCoder4-File"; ValueType: string; ValueName: ""; ValueData: "(De)Coder 4 Datei"; Languages: de; Tasks: filetype
123
; Englisch
124
Root: HKCR; Subkey: "DeCoder4-File"; ValueType: string; ValueName: ""; ValueData: "(De)Coder 4 File"; Languages: en; Tasks: filetype
125
; Französisch
126
Root: HKCR; Subkey: "DeCoder4-File"; ValueType: string; ValueName: ""; ValueData: "Fichier (De)Coder 4"; Languages: fr; Tasks: filetype
127
; Allgemein
128
Root: HKCR; Subkey: "DeCoder4-File\DefaultIcon"; Flags: uninsdeletekey; Tasks: filetype
129
Root: HKCR; Subkey: "DeCoder4-File\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Coder.exe,1"; Tasks: filetype
130
Root: HKCR; Subkey: "DeCoder4-File\shell"; Flags: uninsdeletekey; Tasks: filetype
131
Root: HKCR; Subkey: "DeCoder4-File\shell\open"; Flags: uninsdeletekey; Tasks: filetype
132
Root: HKCR; Subkey: "DeCoder4-File\shell\open\command"; Flags: uninsdeletekey; Tasks: filetype
133
Root: HKCR; Subkey: "DeCoder4-File\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\Coder.exe"" ""%1"""; Tasks: filetype
134
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\Activator.exe"; ValueData: "RUNASADMIN"
135
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "(De)Coder Cleaner"; ValueData: "{app}\Coder.exe /clean /silent"
136
 
137
[Run]
138
Filename: "{app}\Coder.exe"; Description: "{cm:LaunchProgram,(De)Coder}"; Flags: nowait postinstall skipifsilent
139
 
140
[Code]
141
function InitializeSetup(): Boolean;
142
begin
143
  if CheckForMutexes('DeCoder41Setup') = false then
144
  begin
145
    Createmutex('DeCoder41Setup');
146
    Result := true;
147
  end
148
  else
149
  begin
150
    Result := False;
151
  end;
152
end;
153
 
154
procedure CurPageChanged(CurPageID: Integer);
155
begin
156
  if (CurPageID = wpFinished) and IsTaskSelected('registerserver') then RegisterServer(false, ExpandConstant('{app}\ShlExt.dll'), false);
157
  if (CurPageID = wpFinished) and IsTaskSelected('registerserver') then RegisterServer(false, ExpandConstant('{app}\ShlErase.dll'), false);
158
  if (CurPageID = wpFinished) and IsTaskSelected('registerserver') then RegisterServer(false, ExpandConstant('{app}\SecureMoveExt.dll'), false);
159
end;
160
 
161
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
162
begin
163
  case CurUninstallStep of
164
    usUninstall:
165
    begin
166
      UnRegisterServer(false, ExpandConstant('{app}\ShlExt.dll'), false);
167
      UnRegisterServer(false, ExpandConstant('{app}\ShlErase.dll'), false);
168
      UnRegisterServer(false, ExpandConstant('{app}\SecureMoveExt.dll'), false);
169
      // Die Werte werden nicht gelöscht, wenn der Task bei der Installation nicht gewählt wurden...
170
      if RegKeyExists(HKEY_CLASSES_ROOT, '.dc4') then
171
        RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, '.dc4');
172
      if RegKeyExists(HKEY_CLASSES_ROOT, 'DeCoder4-File') then
173
        RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'DeCoder4-File');
174
    end;
175
  end;
176
end;
177