Subversion Repositories decoder

Rev

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