Missing Log4NetLogger updated the inno setup script for Jira, so it can only install when .NET 4.5 is available. [skip ci]

This commit is contained in:
Robin 2016-08-17 14:26:56 +02:00
commit 669ab696cf
53 changed files with 980 additions and 240 deletions

View file

@ -0,0 +1,49 @@
[strings]
; Algemeen
100=Bestand downloaden
101=Wilt u de download annuleren?
102=1% (%2 van %3)
103=%1 KB
104=%1 KB van %2 KB (%3%)
; Status informatie
110=Bestandsinformatie ophalen ...
111=omgeleid naar %1
112=Verzoek verzenden ...
113=oplossen %1
114=Verbonden met 1%
115=Het ontvangen ...
116=Verbinden met %1
; foutmeldingen
120=Fout bij het verbinden met Internet. \n\n%1
121=Fout bij het openen van %1.\n\nDe server terug statuscode %2.
122=Fout bij het lezen URL.\n\n%1
123=Fout bij het schrijven bestand %1.\n\n%2
124=Fout bij openen bestand %1.\n\n%2
125='%1' is een ongeldige URL.
126=Fout bij openen %1.\n\n%2
127=Fout bij het verzenden verzoek.\n\n%1
128=Niet ondersteund protocol. Alleen HTTP en FTP-protocollen worden ondersteund.
129=Kan geen verbinding maken %1.\n\n%2
130=Kan de status code opvragen.\n\n%1
131=Fout bij het aanvragen van het bestand.\n\n%1
; anders
144=Over ...
146=Download
147=Setup is nu het downloaden van extra bestanden naar uw computer.
; etiket
160=Bestand:
161=Speed:
162=Status:
163=Verstreken tijd:
164=Resterende tijd:
165=Huidige File:
166=Algemeen Voortgang:
167=Annuleren
168=OK
169=gebruikersnaam en wachtwoord
170=Gebruikersnaam:
171=Wachtwoord:

View file

@ -1,6 +1,6 @@
[strings] [strings]
; General ; General
100=File Download 100=File download
101=Do you want to cancel the download? 101=Do you want to cancel the download?
102=%1 (%2 of %3) 102=%1 (%2 of %3)
103=%1 KB 103=%1 KB
@ -16,7 +16,7 @@
116=Connecting to %1 116=Connecting to %1
; Error messages ; Error messages
120=Error connecting to Internet.\n\n%1 120=Error connecting to the internet.\n\n%1
121=Error opening %1.\n\nThe server returned status code %2. 121=Error opening %1.\n\nThe server returned status code %2.
122=Error reading URL.\n\n%1 122=Error reading URL.\n\n%1
123=Error writing file %1.\n\n%2 123=Error writing file %1.\n\n%2

View file

@ -1,6 +1,6 @@
[strings] [strings]
; General ; General
100=Téléchargement des fichiers... 100=Téléchargement des fichiers
101=Souhaitez-vous annuler le téléchargement ? 101=Souhaitez-vous annuler le téléchargement ?
102=%1 (%2 / %3) 102=%1 (%2 / %3)
103=%1 Ko 103=%1 Ko
@ -16,7 +16,7 @@
116=Connexion à %1 116=Connexion à %1
; Messages d'erreur ; Messages d'erreur
120=Impossible de se connecter à Internet.\n\n%1 120=Impossible de se connecter à internet.\n\n%1
121=Impossible d'ouvrir %1.\n\nLe serveur a renvoyé le code d'erreur %2. 121=Impossible d'ouvrir %1.\n\nLe serveur a renvoyé le code d'erreur %2.
122=Impossible de lire l'adresse.\n\n%1 122=Impossible de lire l'adresse.\n\n%1
123=Impossible de créer le fichier %1.\n\n%2 123=Impossible de créer le fichier %1.\n\n%2

View file

@ -3,8 +3,8 @@
100=Téléchargement de fichier 100=Téléchargement de fichier
101=Voulez vous annuler le téléchargement ? 101=Voulez vous annuler le téléchargement ?
102=%1 (%2 de %3) 102=%1 (%2 de %3)
103=%1 KB 103=%1 Ko
104=%1 KB de %2 KB (%3%) 104=%1 Ko de %2 Ko (%3%)
; Status information ; Status information
110=Réception des informations du fichier... 110=Réception des informations du fichier...

View file

@ -1,46 +1,49 @@
;by E. Wörner
[strings] [strings]
; General ; General
100=Dateidownload 100=Datei herunterladen
101=Möchten Sie den Download der Dateien abbrechen? 101=Möchten Sie das Herunterladen der Datei abbrechen?
102=%1 (%2 von %3) 102=%1 (%2 von %3)
103=%1 KB 103=%1 KB
104=%1 KB von %2 KB (%3%) 104=%1 KB von %2 KB (%3%)
; Status information ; Status information
110=Empfang von Dateiinformationen... 110=Dateiinformationen werden ermittelt...
111=Weiterleitung zu %1 111=Weiterleitung zu %1
112=Senden der Anfrage... 112=Anforderung wird gesendet...
113=Auflösen von %1 113=Auflösen von %1
114=Verbunden mit %1 114=Verbunden mit %1
115=Empfang... 115=Empfange...
116=Verbinden mit %1 116=Verbinden mit %1
; Error messages ; Error messages
120=Fehler bei der Herstellung einer Verbindung ins Internet.\n\n%1 120=Fehler beim Verbinden mit dem Internet.\n\n%1
121=Fehler beim Öffnen von %1.\n\nDer Server sendete Code %2. 121=Fehler beim Öffnen von %1.\n\nDer Server meldet Statuscode %2.
122=Fehler beim Lesen der URL.\n\n%1 122=Fehler beim Lesen der URL.\n\n%1
123=Fehler beim Schreiben der Datei %1.\n\n%2 123=Fehler beim Schreiben der Datei %1.\n\n%2
124=Fehler beim Öffnen der Datei %1.\n\n%2 124=Fehler beim Öffnen der Datei %1.\n\n%2
125='%1' ist eine ungültige URL. 125='%1' ist eine ungültige URL.
126=Fehler beim Öffnen von %1.\n\n%2 126=Fehler beim Öffnen von %1.\n\n%2
127=Fehler beim Senden der Anfrage.\n\n%1 127=Fehler beim Senden der Anforderung.\n\n%1
128=Nicht unterstütztes Protokoll. FTP und HTTP sind die einzigen unterstützten Protokolle. 128=Protokoll wird nicht unterstützt. Nur HTTP und FTP werden unterstützt.
129=Fehler beim Verbinden mit %1.\n\n%2 129=Verbindung zu %1 fehlgeschlagen.\n\n%2
130=Fehler beim Auflösen des Statuscodes.\n\n%1 130=Fehler bei der Abfrage des Statuscodes.\n\n%1
131=Fehler beim Anfordern einer Datei.\n\n%1 131=Fehler bei der Anforderung der Datei.\n\n%1
; Other ; Other
144=Über... 144=Über...
146=Download 146=Download
147=Setup lädt jetzt zusätzliche Dateien für das Setup. 147=Das Setup lädt nun zusätzliche Dateien auf Ihren Computer.
; labels ; labels
160=Datei: 160=Datei:
161=Geschwindigkeit: 161=Geschwindigkeit:
162=Status: 162=Status:
163=Vergangene Zeit: 163=Bisherige Zeit:
164=Verbleibende Zeit: 164=Verbleibende Zeit:
165=Aktuelle Datei: 165=Aktuelle Datei:
166=Gesamter Fortschritt: 166=Gesamter Vorgang:
167=Abbrechen 167=Abbrechen
168=OK
169=Benutzername und Kennwort
170=Benutzername:
171=Kennwort:

View file

@ -2,13 +2,13 @@
Source: "scripts\isxdl\isxdl.dll"; Flags: dontcopy Source: "scripts\isxdl\isxdl.dll"; Flags: dontcopy
[Code] [Code]
//replace PAnsiChar with PChar on non-unicode Inno Setup
procedure isxdl_AddFile(URL, Filename: PAnsiChar); procedure isxdl_AddFile(URL, Filename: PAnsiChar);
external 'isxdl_AddFile@files:isxdl.dll stdcall'; external 'isxdl_AddFile@files:isxdl.dll stdcall';
function isxdl_DownloadFiles(hWnd: Integer): Integer; function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall'; external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
//replace PAnsiChar with PChar on non-unicode Inno Setup
function isxdl_SetOption(Option, Value: PAnsiChar): Integer; function isxdl_SetOption(Option, Value: PAnsiChar): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall'; external 'isxdl_SetOption@files:isxdl.dll stdcall';
[Setup]

View file

@ -0,0 +1,49 @@
[strings]
; Generale
100=Download del file
101=Vuoi annullare il download?
102=%1 (%2 di %3)
103=%1 KB
104=%1 KB di %2 KB (%3%)
; informazioni di stato
110=Ottenere informazioni sul file ...
111=reindirizzamento a %1
112=Invio richiesta...
113=Risoluzione %1
114=Connesso al %1
115=Ricezione...
116=Collegamento a %1
; Messaggio di errore
120=Errore di connessione a Internet.\n\n%1
121=Errore di apertura %1.\n\nIl server ha restituito codice di stato %2.
122=Errore di lettura del URL.\n\n%1
123=Errore scrittura del file %1.\n\n%2
124=Errore apertura del file %1.\n\n%2
125='%1' è un URL non valido.
126=Errore d'apertura %1.\n\n%2
127=Errore d'invio richiesta.\n\n%1
128=Protocollo non supportato. Sono supportati solo i protocolli HTTP e FTP.
129=Connessione non riuscita a %1.\n\n%2
130=Impossibile eseguire la query codice di stato.\n\n%1
131=Errore file di richiedente.\n\n%1
; Altro
144=A proposito di ...
146=Download
147=L'installazione è ora scaricando i file aggiuntive al computer.
; etichette
160=File:
161=Velocità:
162=Stato:
163=Tempo trascorso:
164=Tempo rimanente:
165=File corrente:
166=Avanzamento generale:
167=Annulla
168=OK
169=Nome utente e password
170=Nome Utente:
171=Password:

View file

@ -0,0 +1,49 @@
[strings]
; General
100=ファイルダウンロード
101=ダウンロードをキャンセルしますか?
102=%1 (%2 of %3)
103=%1 KB
104=%1 KB of %2 KB (%3%)
; Status information
110=ファイル情報を取得中...
111=リダイレクト %1
112=リクエスト送信...
113=解決中 %1
114=接続完了 %1
115=受信中...
116=接続中 %1
; Error messages
120=インターネット接続エラー.\n\n%1
121=開始エラー %1.\n\nサーバーのステータスコード %2.
122=URL読み取りエラー.\n\n%1
123=ファイル書込みエラー %1.\n\n%2
124=ファイルオープンエラー %1.\n\n%2
125='%1' は不正なURLです.
126=オープンエラー %1.\n\n%2
127=リクエスト送信エラー.\n\n%1
128=サポートされていないプロトコルです. HTTPとFTPプロトコルだけがサポートされています.
129=接続に失敗しました %1.\n\n%2
130=ステータスコードの問い合わせ失敗.\n\n%1
131=ファイルリクエストエラー.\n\n%1
; Other
144=About...
146=ダウンロード
147=セットアップはコンピューターに追加のファイルをダウンロードしています.
; labels
160=ファイル:
161=速度:
162=状態:
163=経過時間:
164=残り時間:
165=現在のファイル:
166=全体の進捗状況:
167=キャンセル
168=OK
169=ユーザーとパスワード
170=ユーザー:
171=パスワード:

View file

@ -0,0 +1,49 @@
[strings]
; General
100=파일 다운로드
101=다운로드를 취소하시겠습니까?
102=%1 (%2 중 %3)
103=%1 KB
104=%1 KB 중 %2 KB (%3%)
; Status information
110=파일 정보를 받고 있습니다...
111=Redirecting to %1
112=요청을 보내고 있습니다...
113= %1
114=%1(으)로 연결되었습니다.
115=받는중...
116=%1(으)로 연결중입니다.
; Error messages
120=인터넷 연결중 문제가 발생했습니다.\n\n%1
121=여는도중 애러 발생 %1.\n\n서버 상태 메시지 %2.
122=URL을 읽는 도중 문제가 발생했습니다.\n\n%1
123=파일을 쓰는 도중 문제가 발생했습니다 %1.\n\n%2
124=파일을 여는 도중 문제가 발생했습니다 %1.\n\n%2
125='%1' 은 잘못된 URL입니다.
126=여는 도중 문제가 발생했습니다 %1.\n\n%2
127=요청을 보내는 도중 문제가 발생했습니다\n\n%1
128=지원하지 않는 프로토콜입니다. HTTP 와 FTP 만을 지원합니다.
129=%1로 연결이 실패하였습니다.\n\n%2
130=쿼리가 실패했습니다. 상태 코드는 다음과 같습니다.\n\n%1
131=파일 요청중 문제가 발생했습니다.\n\n%1
; Other
144=About...
146=다운로드
147=이 설치 프로그램은 추가적으로 이 파일들을 다운로드 하게 됩니다.
; labels
160=파일:
161=속도:
162=상태:
163=경과 시간:
164=남은 시간:
165=현재 파일:
166=전체 진행도:
167=취소
168=확인
169=사용자명과 패스워드
170=사용자명:
171=패스워드:

View file

@ -4,8 +4,8 @@
100=Download 100=Download
101=Deseja cancelar o download? 101=Deseja cancelar o download?
102=%1 (%2 de %3) 102=%1 (%2 de %3)
103=%1 Kb 103=%1 KB
104=%1 Kb de %2 Kb (%3%) 104=%1 KB de %2 KB (%3%)
; Status information ; Status information
110=A receber informação do ficheiro... 110=A receber informação do ficheiro...

View file

@ -5,34 +5,73 @@ DependenciesDir=MyProgramDependencies
en.depdownload_msg=The following applications are required before setup can continue:%n%n%1%nDownload and install now? en.depdownload_msg=The following applications are required before setup can continue:%n%n%1%nDownload and install now?
de.depdownload_msg=Die folgenden Programme werden benötigt bevor das Setup fortfahren kann:%n%n%1%nJetzt downloaden und installieren? de.depdownload_msg=Die folgenden Programme werden benötigt bevor das Setup fortfahren kann:%n%n%1%nJetzt downloaden und installieren?
fr.depdownload_msg=Les applications suivantes sont nécessaires avant l'installation peut continuer:%n%n%1%nTéléchargement et installer maintenant?
it.depdownload_msg=Le seguenti applicazioni sono necessari per continuare l'installazione:%n%n%1%nScarica ed installare ora?
nl.depdownload_msg=De volgende toepassingen zijn nodig vóór de installatie kunt doorgaan:%n%n%1%nDownload en installeer nu?
pl.depdownload_msg=Poni¿sze aplikacje s¹ wymagane przed instalacj¹ aby móc kontynuowaæ:%n%n%1%nCzy pobraæ je i zainstalowaæ teraz?
en.depdownload_memo_title=Download dependencies en.depdownload_memo_title=Download dependencies
de.depdownload_memo_title=Abhängigkeiten downloaden de.depdownload_memo_title=Abhängigkeiten downloaden
fr.depdownload_memo_title=Télécharger les dépendances
it.depdownload_memo_title=Scarica le dipendenze
nl.depdownload_memo_title=Download afhankelijkheden
pl.depdownload_memo_title=Pobierz zale¿noœci
en.depinstall_memo_title=Install dependencies en.depinstall_memo_title=Install dependencies
de.depinstall_memo_title=Abhängigkeiten installieren de.depinstall_memo_title=Abhängigkeiten installieren
fr.depinstall_memo_title=Installez les dépendances
it.depinstall_memo_title=installare le dipendenze
nl.depinstall_memo_title=Installeer afhankelijkheden
pl.depinstall_memo_title=Zainstaluj zale¿noœci
en.depinstall_title=Installing dependencies en.depinstall_title=Installing dependencies
de.depinstall_title=Installiere Abhängigkeiten de.depinstall_title=Installiere Abhängigkeiten
fr.depinstall_title=Installation des dépendances
it.depinstall_title=installare le dipendenze
nl.depinstall_title=Installeer afhankelijkheden
pl.depinstall_title=Instalowanie zale¿noœci
en.depinstall_description=Please wait while Setup installs dependencies on your computer. en.depinstall_description=Please wait while Setup installs dependencies on your computer.
de.depinstall_description=Warten Sie bitte während Abhängigkeiten auf Ihrem Computer installiert wird. de.depinstall_description=Warten Sie bitte während Abhängigkeiten auf Ihrem Computer installiert wird.
fr.depinstall_description=S'il vous plaît patienter pendant que le programme d'installation installe les dépendances sur votre ordinateur.
it.depinstall_description=Per favore attendi che viene installato sul computer dipendenze.
nl.depinstall_description=Een moment geduld aub Setup installeert afhankelijkheden op uw computer.
pl.depinstall_description=Instalator instaluje zale¿noœci na komputerze, czekaj.
en.depinstall_status=Installing %1... en.depinstall_status=Installing %1...
de.depinstall_status=Installiere %1... de.depinstall_status=Installiere %1...
fr.depinstall_status=Installation %1...
it.depinstall_status=installazione %1...
nl.depinstall_status=Installeren %1...
pl.depinstall_status=Instalowanie %1....
en.depinstall_missing=%1 must be installed before setup can continue. Please install %1 and run Setup again. en.depinstall_missing=%1 must be installed before setup can continue. Please install %1 and run Setup again.
de.depinstall_missing=%1 muss installiert werden bevor das Setup fortfahren kann. Bitte installieren Sie %1 und starten Sie das Setup erneut. de.depinstall_missing=%1 muss installiert werden bevor das Setup fortfahren kann. Bitte installieren Sie %1 und starten Sie das Setup erneut.
fr.depinstall_missing=%1 doit être installé avant l'installation peut continuer. S'il vous plaît installer %1 et exécutez à nouveau le programme d'installation.
it.depinstall_missing=%1 deve essere installato per continuare l'installazione. Si prega di installare %1 ed eseguire nuovamente l'installazione.
nl.depinstall_missing=%1 moet worden geïnstalleerd vóór de installatie kan worden voortgezet. Installeer %1 en voer Setup opnieuw uit.
pl.depinstall_missing=%1 musi byæ zainstalowany przed instalacj¹, aby mog³a ona byæ kontynuowana. Zainstaluj %1 i ponownie uruchom program instalacyjny.
en.depinstall_error=An error occured while installing the dependencies. Please restart the computer and run the setup again or install the following dependencies manually:%n en.depinstall_error=An error occured while installing the dependencies. Please restart the computer and run the setup again or install the following dependencies manually:%n
de.depinstall_error=Ein Fehler ist während der Installation der Abghängigkeiten aufgetreten. Bitte starten Sie den Computer neu und führen Sie das Setup erneut aus oder installieren Sie die folgenden Abhängigkeiten per Hand:%n de.depinstall_error=Ein Fehler ist während der Installation der Abghängigkeiten aufgetreten. Bitte starten Sie den Computer neu und führen Sie das Setup erneut aus oder installieren Sie die folgenden Abhängigkeiten per Hand:%n
fr.depinstall_error=Une erreur est survenue lors de l'installation des dépendances . S'il vous plaît redémarrer l'ordinateur et exécuter à nouveau le programme d'installation ou installer les dépendances suivantes manuellement:%n
it.depinstall_error=È verificato un errore durante l'installazione le dipendenze . Si prega di riavviare il computer ed eseguire nuovamente la configurazione o installare le seguenti dipendenze manualmente:%n
nl.depinstall_error=Er is een fout opgetreden tijdens het installeren van de afhankelijkheden. Gelieve de computer opnieuw op en voer de installatie opnieuw uit of de volgende afhankelijkheden handmatig installeren:%n
pl.depinstall_error=Wyst¹pi³ b³¹d podczas instalowania zale¿noœci. Uruchom ponownie komputer, a nastêpnie ponownie uruchom program instalacyjny lub rêcznie zainstaluj nastêpuj¹ce programy:%n
en.isxdl_langfile= en.isxdl_langfile=
de.isxdl_langfile=german2.ini de.isxdl_langfile=german.ini
fr.isxdl_langfile=french3.ini
it.isxdl_langfile=italian.ini
nl.isxdl_langfile=dutch.ini
pl.isxdl_langfile=polish.ini
[Files] [Files]
Source: "scripts\isxdl\german2.ini"; Flags: dontcopy Source: "scripts\isxdl\german.ini"; Flags: dontcopy
Source: "scripts\isxdl\french3.ini"; Flags: dontcopy
Source: "scripts\isxdl\italian.ini"; Flags: dontcopy
Source: "scripts\isxdl\dutch.ini"; Flags: dontcopy
Source: "scripts\isxdl\polish.ini"; Flags: dontcopy
[Code] [Code]
type type
@ -40,6 +79,7 @@ type
File: String; File: String;
Title: String; Title: String;
Parameters: String; Parameters: String;
ForceSuccess : boolean;
InstallClean : boolean; InstallClean : boolean;
MustRebootAfter : boolean; MustRebootAfter : boolean;
end; end;
@ -49,46 +89,49 @@ type
var var
installMemo, downloadMemo, downloadMessage: string; installMemo, downloadMemo, downloadMessage: string;
products: array of TProduct; products: array of TProduct;
delayedReboot: boolean; delayedReboot, isForcedX86: boolean;
DependencyPage: TOutputProgressWizardPage; DependencyPage: TOutputProgressWizardPage;
procedure AddProduct(FileName, Parameters, Title, Size, URL: string; InstallClean : boolean; MustRebootAfter : boolean); procedure AddProduct(filename, parameters, title, size, url: string; forceSuccess, installClean, mustRebootAfter : boolean);
var var
path: string; path: string;
i: Integer; i: Integer;
begin begin
installMemo := installMemo + '%1' + Title + #13; installMemo := installMemo + '%1' + title + #13;
path := ExpandConstant('{src}{\}') + CustomMessage('DependenciesDir') + '\' + FileName; path := ExpandConstant('{src}{\}') + CustomMessage('DependenciesDir') + '\' + filename;
if not FileExists(path) then begin if not FileExists(path) then begin
path := ExpandConstant('{tmp}{\}') + FileName; path := ExpandConstant('{tmp}{\}') + filename;
isxdl_AddFile(URL, path); if not FileExists(path) then begin
isxdl_AddFile(url, path);
downloadMemo := downloadMemo + '%1' + Title + #13; downloadMemo := downloadMemo + '%1' + title + #13;
downloadMessage := downloadMessage + ' ' + Title + ' (' + Size + ')' + #13; downloadMessage := downloadMessage + ' ' + title + ' (' + size + ')' + #13;
end;
end; end;
i := GetArrayLength(products); i := GetArrayLength(products);
SetArrayLength(products, i + 1); SetArrayLength(products, i + 1);
products[i].File := path; products[i].File := path;
products[i].Title := Title; products[i].Title := title;
products[i].Parameters := Parameters; products[i].Parameters := parameters;
products[i].InstallClean := InstallClean; products[i].ForceSuccess := forceSuccess;
products[i].MustRebootAfter := MustRebootAfter; products[i].InstallClean := installClean;
products[i].MustRebootAfter := mustRebootAfter;
end; end;
function SmartExec(prod : TProduct; var ResultCode : Integer) : boolean; function SmartExec(product : TProduct; var resultcode : Integer): boolean;
begin begin
if (LowerCase(Copy(prod.File,Length(prod.File)-2,3)) = 'exe') then begin if (LowerCase(Copy(product.File, Length(product.File) - 2, 3)) = 'exe') then begin
Result := Exec(prod.File, prod.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); Result := Exec(product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode);
end else begin end else begin
Result := ShellExec('', prod.File, prod.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); Result := ShellExec('', product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode);
end; end;
end; end;
function PendingReboot : boolean; function PendingReboot: boolean;
var names: String; var names: String;
begin begin
if (RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations', names)) then begin if (RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations', names)) then begin
@ -102,7 +145,7 @@ end;
function InstallProducts: InstallResult; function InstallProducts: InstallResult;
var var
ResultCode, i, productCount, finishCount: Integer; resultCode, i, productCount, finishCount: Integer;
begin begin
Result := InstallSuccessful; Result := InstallSuccessful;
productCount := GetArrayLength(products); productCount := GetArrayLength(products);
@ -120,9 +163,8 @@ begin
DependencyPage.SetText(FmtMessage(CustomMessage('depinstall_status'), [products[i].Title]), ''); DependencyPage.SetText(FmtMessage(CustomMessage('depinstall_status'), [products[i].Title]), '');
DependencyPage.SetProgress(i, productCount); DependencyPage.SetProgress(i, productCount);
if SmartExec(products[i], ResultCode) then begin if SmartExec(products[i], resultCode) then begin
//setup executed; ResultCode contains the exit code //setup executed; resultCode contains the exit code
//MsgBox(products[i].Title + ' install executed. Result Code: ' + IntToStr(ResultCode), mbInformation, MB_OK);
if (products[i].MustRebootAfter) then begin if (products[i].MustRebootAfter) then begin
//delay reboot after install if we installed the last dependency anyways //delay reboot after install if we installed the last dependency anyways
if (i = productCount - 1) then begin if (i = productCount - 1) then begin
@ -131,10 +173,10 @@ begin
Result := InstallRebootRequired; Result := InstallRebootRequired;
end; end;
break; break;
end else if (ResultCode = 0) then begin end else if (resultCode = 0) or (products[i].ForceSuccess) then begin
finishCount := finishCount + 1; finishCount := finishCount + 1;
end else if (ResultCode = 3010) then begin end else if (resultCode = 3010) then begin
//ResultCode 3010: A restart is required to complete the installation. This message indicates success. //Windows Installer resultCode 3010: ERROR_SUCCESS_REBOOT_REQUIRED
delayedReboot := true; delayedReboot := true;
finishCount := finishCount + 1; finishCount := finishCount + 1;
end else begin end else begin
@ -142,7 +184,6 @@ begin
break; break;
end; end;
end else begin end else begin
//MsgBox(products[i].Title + ' install failed. Result Code: ' + IntToStr(ResultCode), mbInformation, MB_OK);
Result := InstallError; Result := InstallError;
break; break;
end; end;
@ -187,8 +228,7 @@ end;
function NeedRestart : boolean; function NeedRestart : boolean;
begin begin
if (delayedReboot) then Result := delayedReboot;
Result := true;
end; end;
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
@ -231,17 +271,17 @@ end;
function IsX86: boolean; function IsX86: boolean;
begin begin
Result := (ProcessorArchitecture = paX86) or (ProcessorArchitecture = paUnknown); Result := isForcedX86 or (ProcessorArchitecture = paX86) or (ProcessorArchitecture = paUnknown);
end; end;
function IsX64: boolean; function IsX64: boolean;
begin begin
Result := Is64BitInstallMode and (ProcessorArchitecture = paX64); Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paX64);
end; end;
function IsIA64: boolean; function IsIA64: boolean;
begin begin
Result := Is64BitInstallMode and (ProcessorArchitecture = paIA64); Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paIA64);
end; end;
function GetString(x86, x64, ia64: String): String; function GetString(x86, x64, ia64: String): String;
@ -264,4 +304,11 @@ begin
end else begin end else begin
Result := ''; Result := '';
end; end;
end; end;
procedure SetForceX86(value: boolean);
begin
isForcedX86 := value;
end;
[Setup]

View file

@ -0,0 +1,31 @@
; requires Windows 7, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Vista, Windows XP Service Pack 2, Windows XP Service Pack 3
; http://www.microsoft.com/en-US/download/details.aspx?id=35
[CustomMessages]
en.directxruntime_title=DirectX End-User Runtime
de.directxruntime_title=DirectX Endbenutzer Runtime
en.directxruntime_size=1 MB - 95.6 MB
de.directxruntime_size=1 MB - 95,6 MB
[Files]
;includes dxwebsetup.exe in setup executable so that we don't need to download it
Source: "src\dxwebsetup.exe"; Flags: dontcopy
[Code]
const
directxruntime_url = 'http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe';
procedure directxruntime();
begin
ExtractTemporaryFile('dxwebsetup.exe');
AddProduct('dxwebsetup.exe',
'/Q',
CustomMessage('directxruntime_title'),
CustomMessage('directxruntime_size'),
directxruntime_url,
true, false, false);
end;
[Setup]

View file

@ -1,6 +1,6 @@
// requires Windows 2000; Windows Server 2003 Service Pack 1 for Itanium-based Systems; Windows Server 2003 x64 editions; Windows Server 2008 Datacenter; Windows Server 2008 Enterprise; Windows Server 2008 for Itanium-based Systems; Windows Server 2008 Standard; Windows Vista Business; Windows Vista Enterprise; Windows Vista Home Basic; Windows Vista Home Premium; Windows Vista Starter; Windows Vista Ultimate; Windows XP; Windows XP Professional x64 Edition; Windows NT 4.0 Service Pack 6a ; requires Windows 2000; Windows Server 2003 Service Pack 1 for Itanium-based Systems; Windows Server 2003 x64 editions; Windows Server 2008 Datacenter; Windows Server 2008 Enterprise; Windows Server 2008 for Itanium-based Systems; Windows Server 2008 Standard; Windows Vista Business; Windows Vista Enterprise; Windows Vista Home Basic; Windows Vista Home Premium; Windows Vista Starter; Windows Vista Ultimate; Windows XP; Windows XP Professional x64 Edition; Windows NT 4.0 Service Pack 6a
// requires internet explorer 5.0.1 or higher ; requires internet explorer 5.0.1 or higher
// http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3
[CustomMessages] [CustomMessages]
dotnetfx11_title=.NET Framework 1.1 dotnetfx11_title=.NET Framework 1.1
@ -8,7 +8,6 @@ dotnetfx11_title=.NET Framework 1.1
en.dotnetfx11_size=23.1 MB en.dotnetfx11_size=23.1 MB
de.dotnetfx11_size=23,1 MB de.dotnetfx11_size=23,1 MB
[Code] [Code]
const const
dotnetfx11_url = 'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe'; dotnetfx11_url = 'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe';
@ -21,5 +20,7 @@ begin
CustomMessage('dotnetfx11_title'), CustomMessage('dotnetfx11_title'),
CustomMessage('dotnetfx11_size'), CustomMessage('dotnetfx11_size'),
dotnetfx11_url, dotnetfx11_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -8,7 +8,6 @@ de.dotnetfx11lp_lcid=1031
de.dotnetfx11lp_url=http://download.microsoft.com/download/6/8/2/6821e687-526a-4ef8-9a67-9a402ec5ac9e/langpack.exe de.dotnetfx11lp_url=http://download.microsoft.com/download/6/8/2/6821e687-526a-4ef8-9a67-9a402ec5ac9e/langpack.exe
[Code] [Code]
procedure dotnetfx11lp(); procedure dotnetfx11lp();
begin begin
@ -19,6 +18,8 @@ begin
CustomMessage('dotnetfx11lp_title'), CustomMessage('dotnetfx11lp_title'),
CustomMessage('dotnetfx11lp_size'), CustomMessage('dotnetfx11lp_size'),
CustomMessage('dotnetfx11lp_url'), CustomMessage('dotnetfx11lp_url'),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,6 +1,6 @@
// requires TabletPC, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition , Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4, Windows Server 2003 Service Pack 1 for Itanium-based Systems, Windows Server 2003 x64 editions, Windows Server 2003, Datacenter Edition for 64-Bit Itanium-Based Systems, Windows Server 2003, Datacenter x64 Edition, Windows Server 2003, Enterprise Edition for Itanium-based Systems, Windows Server 2003, Enterprise x64 Edition, Windows Server 2003, Standard x64 Edition, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 for Itanium-based Systems, Windows Server 2008 Standard, Windows Vista Business, Windows Vista Business 64-bit edition, Windows Vista Enterprise, Windows Vista Enterprise 64-bit edition, Windows Vista Home Basic, Windows Vista Home Basic 64-bit edition, Windows Vista Home Premium, Windows Vista Home Premium 64-bit edition, Windows Vista Starter, Windows Vista Ultimate, Windows Vista Ultimate 64-bit edition, Windows XP, Windows XP Home Edition , Windows XP Media Center Edition, Windows XP Professional Edition , Windows XP Professional x64 Edition , Windows XP Service Pack 1, Windows XP Service Pack 2 ; requires TabletPC, Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition , Windows 2000 Server, Windows 2000 Service Pack 2, Windows 2000 Service Pack 3, Windows 2000 Service Pack 4, Windows Server 2003 Service Pack 1 for Itanium-based Systems, Windows Server 2003 x64 editions, Windows Server 2003, Datacenter Edition for 64-Bit Itanium-Based Systems, Windows Server 2003, Datacenter x64 Edition, Windows Server 2003, Enterprise Edition for Itanium-based Systems, Windows Server 2003, Enterprise x64 Edition, Windows Server 2003, Standard x64 Edition, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 for Itanium-based Systems, Windows Server 2008 Standard, Windows Vista Business, Windows Vista Business 64-bit edition, Windows Vista Enterprise, Windows Vista Enterprise 64-bit edition, Windows Vista Home Basic, Windows Vista Home Basic 64-bit edition, Windows Vista Home Premium, Windows Vista Home Premium 64-bit edition, Windows Vista Starter, Windows Vista Ultimate, Windows Vista Ultimate 64-bit edition, Windows XP, Windows XP Home Edition , Windows XP Media Center Edition, Windows XP Professional Edition , Windows XP Professional x64 Edition , Windows XP Service Pack 1, Windows XP Service Pack 2
// requires internet explorer 5.0.1 or higher ; requires internet explorer 5.0.1 or higher
// http://www.microsoft.com/downloads/details.aspx?familyid=A8F5654F-088E-40B2-BBDB-A83353618B38 ; http://www.microsoft.com/downloads/details.aspx?familyid=A8F5654F-088E-40B2-BBDB-A83353618B38
[CustomMessages] [CustomMessages]
dotnetfx11sp1_title=.NET Framework 1.1 Service Pack 1 dotnetfx11sp1_title=.NET Framework 1.1 Service Pack 1
@ -8,7 +8,6 @@ dotnetfx11sp1_title=.NET Framework 1.1 Service Pack 1
en.dotnetfx11sp1_size=10.5 MB en.dotnetfx11sp1_size=10.5 MB
de.dotnetfx11sp1_size=10,5 MB de.dotnetfx11sp1_size=10,5 MB
[Code] [Code]
const const
dotnetfx11sp1_url = 'http://download.microsoft.com/download/8/b/4/8b4addd8-e957-4dea-bdb8-c4e00af5b94b/NDP1.1sp1-KB867460-X86.exe'; dotnetfx11sp1_url = 'http://download.microsoft.com/download/8/b/4/8b4addd8-e957-4dea-bdb8-c4e00af5b94b/NDP1.1sp1-KB867460-X86.exe';
@ -21,5 +20,7 @@ begin
CustomMessage('dotnetfx11sp1_title'), CustomMessage('dotnetfx11sp1_title'),
CustomMessage('dotnetfx11sp1_size'), CustomMessage('dotnetfx11sp1_size'),
dotnetfx11sp1_url, dotnetfx11sp1_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,15 +1,14 @@
// requires Windows 2000 Service Pack 3, Windows 98, Windows 98 Second Edition, Windows ME, Windows Server 2003, Windows XP Service Pack 2 ; requires Windows 2000 Service Pack 3, Windows 98, Windows 98 Second Edition, Windows ME, Windows Server 2003, Windows XP Service Pack 2
// requires internet explorer 5.0.1 or higher ; requires internet explorer 5.0.1 or higher
// requires windows installer 2.0 on windows 98, ME ; requires windows installer 2.0 on windows 98, ME
// requires Windows Installer 3.1 on windows 2000 or higher ; requires Windows Installer 3.1 on windows 2000 or higher
// http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5
[CustomMessages] [CustomMessages]
dotnetfx20_title=.NET Framework 2.0 dotnetfx20_title=.NET Framework 2.0
dotnetfx20_size=23 MB dotnetfx20_size=23 MB
[Code] [Code]
const const
dotnetfx20_url = 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe'; dotnetfx20_url = 'http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe';
@ -24,5 +23,7 @@ begin
CustomMessage('dotnetfx20_title'), CustomMessage('dotnetfx20_title'),
CustomMessage('dotnetfx20_size'), CustomMessage('dotnetfx20_size'),
GetString(dotnetfx20_url, dotnetfx20_url_x64, dotnetfx20_url_ia64), GetString(dotnetfx20_url, dotnetfx20_url_x64, dotnetfx20_url_ia64),
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,4 +1,4 @@
//http://www.microsoft.com/downloads/details.aspx?familyid=92E0E1CE-8693-4480-84FA-7D85EEF59016 ; http://www.microsoft.com/downloads/details.aspx?familyid=92E0E1CE-8693-4480-84FA-7D85EEF59016
[CustomMessages] [CustomMessages]
de.dotnetfx20lp_title=.NET Framework 2.0 Sprachpaket: Deutsch de.dotnetfx20lp_title=.NET Framework 2.0 Sprachpaket: Deutsch
@ -12,7 +12,6 @@ de.dotnetfx20lp_url=http://download.microsoft.com/download/2/9/7/29768238-56c3-4
de.dotnetfx20lp_url_x64=http://download.microsoft.com/download/2/e/f/2ef250ba-a868-4074-a4c9-249004866f87/langpack.exe de.dotnetfx20lp_url_x64=http://download.microsoft.com/download/2/e/f/2ef250ba-a868-4074-a4c9-249004866f87/langpack.exe
de.dotnetfx20lp_url_ia64=http://download.microsoft.com/download/8/9/8/898c5670-5e74-41c4-82fc-68dd837af627/langpack.exe de.dotnetfx20lp_url_ia64=http://download.microsoft.com/download/8/9/8/898c5670-5e74-41c4-82fc-68dd837af627/langpack.exe
[Code] [Code]
procedure dotnetfx20lp(); procedure dotnetfx20lp();
begin begin
@ -23,6 +22,8 @@ begin
CustomMessage('dotnetfx20lp_title'), CustomMessage('dotnetfx20lp_title'),
CustomMessage('dotnetfx20lp_size'), CustomMessage('dotnetfx20lp_size'),
CustomMessage('dotnetfx20lp_url' + GetArchitectureString()), CustomMessage('dotnetfx20lp_url' + GetArchitectureString()),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,6 +1,6 @@
// requires Windows 2000 Service Pack 4, Windows Server 2003, Windows XP Service Pack 2 ; requires Windows 2000 Service Pack 4, Windows Server 2003, Windows XP Service Pack 2
// requires KB 835732 on Windows 2000 Service Pack 4 ; requires KB 835732 on Windows 2000 Service Pack 4
// http://www.microsoft.com/downloads/details.aspx?FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5
[CustomMessages] [CustomMessages]
dotnetfx20sp1_title=.NET Framework 2.0 Service Pack 1 dotnetfx20sp1_title=.NET Framework 2.0 Service Pack 1
@ -8,7 +8,6 @@ dotnetfx20sp1_title=.NET Framework 2.0 Service Pack 1
en.dotnetfx20sp1_size=23.6 MB en.dotnetfx20sp1_size=23.6 MB
de.dotnetfx20sp1_size=23,6 MB de.dotnetfx20sp1_size=23,6 MB
[Code] [Code]
const const
dotnetfx20sp1_url = 'http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe'; dotnetfx20sp1_url = 'http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe';
@ -23,5 +22,7 @@ begin
CustomMessage('dotnetfx20sp1_title'), CustomMessage('dotnetfx20sp1_title'),
CustomMessage('dotnetfx20sp1_size'), CustomMessage('dotnetfx20sp1_size'),
GetString(dotnetfx20sp1_url, dotnetfx20sp1_url_x64, dotnetfx20sp1_url_ia64), GetString(dotnetfx20sp1_url, dotnetfx20sp1_url_x64, dotnetfx20sp1_url_ia64),
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,4 +1,4 @@
//http://www.microsoft.com/downloads/details.aspx?FamilyID=1cc39ffe-a2aa-4548-91b3-855a2de99304 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=1cc39ffe-a2aa-4548-91b3-855a2de99304
[CustomMessages] [CustomMessages]
de.dotnetfx20sp1lp_title=.NET Framework 2.0 SP1 Sprachpaket: Deutsch de.dotnetfx20sp1lp_title=.NET Framework 2.0 SP1 Sprachpaket: Deutsch
@ -12,7 +12,6 @@ de.dotnetfx20sp1lp_url=http://download.microsoft.com/download/8/a/a/8aab7e6a-5e5
de.dotnetfx20sp1lp_url_x64=http://download.microsoft.com/download/1/4/2/1425872f-c564-4ab2-8c9e-344afdaecd44/NetFx20SP1_x64de.exe de.dotnetfx20sp1lp_url_x64=http://download.microsoft.com/download/1/4/2/1425872f-c564-4ab2-8c9e-344afdaecd44/NetFx20SP1_x64de.exe
de.dotnetfx20sp1lp_url_ia64=http://download.microsoft.com/download/a/0/b/a0bef431-19d8-433c-9f42-6e2824a8cb90/NetFx20SP1_ia64de.exe de.dotnetfx20sp1lp_url_ia64=http://download.microsoft.com/download/a/0/b/a0bef431-19d8-433c-9f42-6e2824a8cb90/NetFx20SP1_ia64de.exe
[Code] [Code]
procedure dotnetfx20sp1lp(); procedure dotnetfx20sp1lp();
begin begin
@ -23,6 +22,8 @@ begin
CustomMessage('dotnetfx20sp1lp_title'), CustomMessage('dotnetfx20sp1lp_title'),
CustomMessage('dotnetfx20sp1lp_size'), CustomMessage('dotnetfx20sp1lp_size'),
CustomMessage('dotnetfx20sp1lp_url' + GetArchitectureString()), CustomMessage('dotnetfx20sp1lp_url' + GetArchitectureString()),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,4 +1,4 @@
//http://www.microsoft.com/downloads/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F ; http://www.microsoft.com/downloads/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F
[CustomMessages] [CustomMessages]
dotnetfx20sp2_title=.NET Framework 2.0 Service Pack 2 dotnetfx20sp2_title=.NET Framework 2.0 Service Pack 2
@ -6,7 +6,6 @@ dotnetfx20sp2_title=.NET Framework 2.0 Service Pack 2
en.dotnetfx20sp2_size=24 MB - 52 MB en.dotnetfx20sp2_size=24 MB - 52 MB
de.dotnetfx20sp2_size=24 MB - 52 MB de.dotnetfx20sp2_size=24 MB - 52 MB
[Code] [Code]
const const
dotnetfx20sp2_url = 'http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe'; dotnetfx20sp2_url = 'http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe';
@ -21,5 +20,7 @@ begin
CustomMessage('dotnetfx20sp2_title'), CustomMessage('dotnetfx20sp2_title'),
CustomMessage('dotnetfx20sp2_size'), CustomMessage('dotnetfx20sp2_size'),
GetString(dotnetfx20sp2_url, dotnetfx20sp2_url_x64, dotnetfx20sp2_url_ia64), GetString(dotnetfx20sp2_url, dotnetfx20sp2_url_x64, dotnetfx20sp2_url_ia64),
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,4 +1,4 @@
//http://www.microsoft.com/downloads/details.aspx?FamilyID=c69789e0-a4fa-4b2e-a6b5-3b3695825992 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=c69789e0-a4fa-4b2e-a6b5-3b3695825992
[CustomMessages] [CustomMessages]
de.dotnetfx20sp2lp_title=.NET Framework 2.0 SP2 Sprachpaket: Deutsch de.dotnetfx20sp2lp_title=.NET Framework 2.0 SP2 Sprachpaket: Deutsch
@ -12,7 +12,6 @@ de.dotnetfx20sp2lp_url=http://download.microsoft.com/download/0/b/1/0b175c8e-34b
de.dotnetfx20sp2lp_url_x64=http://download.microsoft.com/download/4/e/c/4ec67a11-879d-4550-9c25-fd9ab4261b46/netfx20sp2_x64de.exe de.dotnetfx20sp2lp_url_x64=http://download.microsoft.com/download/4/e/c/4ec67a11-879d-4550-9c25-fd9ab4261b46/netfx20sp2_x64de.exe
de.dotnetfx20sp2lp_url_ia64=http://download.microsoft.com/download/a/3/3/a3349a2d-36e4-4797-8297-4394e6fbd677/NetFx20SP2_ia64de.exe de.dotnetfx20sp2lp_url_ia64=http://download.microsoft.com/download/a/3/3/a3349a2d-36e4-4797-8297-4394e6fbd677/NetFx20SP2_ia64de.exe
[Code] [Code]
procedure dotnetfx20sp2lp(); procedure dotnetfx20sp2lp();
begin begin
@ -23,6 +22,8 @@ begin
CustomMessage('dotnetfx20sp2lp_title'), CustomMessage('dotnetfx20sp2lp_title'),
CustomMessage('dotnetfx20sp2lp_size'), CustomMessage('dotnetfx20sp2lp_size'),
CustomMessage('dotnetfx20sp2lp_url' + GetArchitectureString()), CustomMessage('dotnetfx20sp2lp_url' + GetArchitectureString()),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,14 +1,13 @@
// requires Windows Server 2003 Service Pack 1, Windows Server 2008, Windows Vista, Windows XP Service Pack 2 ; requires Windows Server 2003 Service Pack 1, Windows Server 2008, Windows Vista, Windows XP Service Pack 2
// requires Windows Installer 3.1 ; requires Windows Installer 3.1
// WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below ; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below
// http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6 ; http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6
[CustomMessages] [CustomMessages]
dotnetfx35_title=.NET Framework 3.5 dotnetfx35_title=.NET Framework 3.5
dotnetfx35_size=3 MB - 197 MB dotnetfx35_size=3 MB - 197 MB
[Code] [Code]
const const
dotnetfx35_url = 'http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe'; dotnetfx35_url = 'http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe';
@ -16,10 +15,12 @@ const
procedure dotnetfx35(); procedure dotnetfx35();
begin begin
if (netfxinstalled(NetFx35, '') = false) then if (netfxinstalled(NetFx35, '') = false) then
AddProduct('dotnetfx35' + GetArchitectureString() + '.exe', AddProduct('dotnetfx35.exe',
'/lang:enu /passive /norestart', '/lang:enu /passive /norestart',
CustomMessage('dotnetfx35_title'), CustomMessage('dotnetfx35_title'),
CustomMessage('dotnetfx35_size'), CustomMessage('dotnetfx35_size'),
dotnetfx35_url, dotnetfx35_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -8,17 +8,18 @@ de.dotnetfx35lp_lcid=1031
de.dotnetfx35lp_url=http://download.microsoft.com/download/d/1/e/d1e617c3-c7f4-467e-a7de-af832450efd3/dotnetfx35langpack_x86de.exe de.dotnetfx35lp_url=http://download.microsoft.com/download/d/1/e/d1e617c3-c7f4-467e-a7de-af832450efd3/dotnetfx35langpack_x86de.exe
[Code] [Code]
procedure dotnetfx35lp(); procedure dotnetfx35lp();
begin begin
if (ActiveLanguage() <> 'en') then begin if (ActiveLanguage() <> 'en') then begin
if (not netfxinstalled(NetFx35, CustomMessage('dotnetfx35lp_lcid'))) then if (not netfxinstalled(NetFx35, CustomMessage('dotnetfx35lp_lcid'))) then
AddProduct('dotnetfx35' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', AddProduct('dotnetfx35_' + ActiveLanguage() + '.exe',
'/lang:enu /passive /norestart', '/lang:enu /passive /norestart',
CustomMessage('dotnetfx35lp_title'), CustomMessage('dotnetfx35lp_title'),
CustomMessage('dotnetfx35lp_size'), CustomMessage('dotnetfx35lp_size'),
CustomMessage('dotnetfx35lp_url'), CustomMessage('dotnetfx35lp_url'),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,7 +1,7 @@
// requires Windows Server 2003 Service Pack 1, Windows Server 2008, Windows Vista, Windows XP Service Pack 2 ; requires Windows Server 2003 Service Pack 1, Windows Server 2008, Windows Vista, Windows XP Service Pack 2
// requires Windows Installer 3.1 ; requires Windows Installer 3.1
// WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below ; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below
// http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7 ; http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7
[CustomMessages] [CustomMessages]
dotnetfx35sp1_title=.NET Framework 3.5 Service Pack 1 dotnetfx35sp1_title=.NET Framework 3.5 Service Pack 1
@ -9,7 +9,6 @@ dotnetfx35sp1_title=.NET Framework 3.5 Service Pack 1
en.dotnetfx35sp1_size=3 MB - 232 MB en.dotnetfx35sp1_size=3 MB - 232 MB
de.dotnetfx35sp1_size=3 MB - 232 MB de.dotnetfx35sp1_size=3 MB - 232 MB
[Code] [Code]
const const
dotnetfx35sp1_url = 'http://download.microsoft.com/download/0/6/1/061f001c-8752-4600-a198-53214c69b51f/dotnetfx35setup.exe'; dotnetfx35sp1_url = 'http://download.microsoft.com/download/0/6/1/061f001c-8752-4600-a198-53214c69b51f/dotnetfx35setup.exe';
@ -17,10 +16,12 @@ const
procedure dotnetfx35sp1(); procedure dotnetfx35sp1();
begin begin
if (netfxspversion(NetFx35, '') < 1) then if (netfxspversion(NetFx35, '') < 1) then
AddProduct('dotnetfx35sp1' + GetArchitectureString() + '.exe', AddProduct('dotnetfx35sp1.exe',
'/lang:enu /passive /norestart', '/lang:enu /passive /norestart',
CustomMessage('dotnetfx35sp1_title'), CustomMessage('dotnetfx35sp1_title'),
CustomMessage('dotnetfx35sp1_size'), CustomMessage('dotnetfx35sp1_size'),
dotnetfx35sp1_url, dotnetfx35sp1_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -8,17 +8,18 @@ de.dotnetfx35sp1lp_lcid=1031
de.dotnetfx35sp1lp_url=http://download.microsoft.com/download/d/7/2/d728b7b9-454b-4b57-8270-45dac441b0ec/dotnetfx35langpack_x86de.exe de.dotnetfx35sp1lp_url=http://download.microsoft.com/download/d/7/2/d728b7b9-454b-4b57-8270-45dac441b0ec/dotnetfx35langpack_x86de.exe
[Code] [Code]
procedure dotnetfx35sp1lp(); procedure dotnetfx35sp1lp();
begin begin
if (ActiveLanguage() <> 'en') then begin if (ActiveLanguage() <> 'en') then begin
if (netfxspversion(NetFx35, CustomMessage('dotnetfx35sp1lp_lcid')) < 1) then if (netfxspversion(NetFx35, CustomMessage('dotnetfx35sp1lp_lcid')) < 1) then
AddProduct('dotnetfx35sp1' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', AddProduct('dotnetfx35sp1_' + ActiveLanguage() + '.exe',
'/lang:enu /passive /norestart', '/lang:enu /passive /norestart',
CustomMessage('dotnetfx35sp1lp_title'), CustomMessage('dotnetfx35sp1lp_title'),
CustomMessage('dotnetfx35sp1lp_size'), CustomMessage('dotnetfx35sp1lp_size'),
CustomMessage('dotnetfx35sp1lp_url'), CustomMessage('dotnetfx35sp1lp_url'),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,8 +1,8 @@
// requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3 ; requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3
// requires Windows Installer 3.1 ; requires Windows Installer 3.1
// requires Internet Explorer 5.01 ; requires Internet Explorer 5.01
// WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below ; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below
// http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab ; http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5765d7a8-7722-4888-a970-ac39b33fd8ab
[CustomMessages] [CustomMessages]
dotnetfx40client_title=.NET Framework 4.0 Client dotnetfx40client_title=.NET Framework 4.0 Client
@ -10,9 +10,8 @@ dotnetfx40client_title=.NET Framework 4.0 Client
dotnetfx40client_size=3 MB - 197 MB dotnetfx40client_size=3 MB - 197 MB
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx ;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.dotnetfx40client_lcid='' en.dotnetfx40client_lcid=
de.dotnetfx40client_lcid='/lcid 1031 ' de.dotnetfx40client_lcid=/lcid 1031
[Code] [Code]
const const
@ -22,9 +21,11 @@ procedure dotnetfx40client();
begin begin
if (not netfxinstalled(NetFx40Client, '')) then if (not netfxinstalled(NetFx40Client, '')) then
AddProduct('dotNetFx40_Client_setup.exe', AddProduct('dotNetFx40_Client_setup.exe',
CustomMessage('dotnetfx40client_lcid') + '/passive /norestart', CustomMessage('dotnetfx40client_lcid') + ' /passive /norestart',
CustomMessage('dotnetfx40client_title'), CustomMessage('dotnetfx40client_title'),
CustomMessage('dotnetfx40client_size'), CustomMessage('dotnetfx40client_size'),
dotnetfx40client_url, dotnetfx40client_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,8 +1,8 @@
// requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3 ; requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3
// requires Windows Installer 3.1 ; requires Windows Installer 3.1
// requires Internet Explorer 5.01 ; requires Internet Explorer 5.01
// WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below ; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below
// http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992 ; http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992
[CustomMessages] [CustomMessages]
dotnetfx40full_title=.NET Framework 4.0 Full dotnetfx40full_title=.NET Framework 4.0 Full
@ -10,9 +10,8 @@ dotnetfx40full_title=.NET Framework 4.0 Full
dotnetfx40full_size=3 MB - 197 MB dotnetfx40full_size=3 MB - 197 MB
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx ;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.dotnetfx40full_lcid='' en.dotnetfx40full_lcid=
de.dotnetfx40full_lcid='/lcid 1031 ' de.dotnetfx40full_lcid=/lcid 1031
[Code] [Code]
const const
@ -22,9 +21,11 @@ procedure dotnetfx40full();
begin begin
if (not netfxinstalled(NetFx40Full, '')) then if (not netfxinstalled(NetFx40Full, '')) then
AddProduct('dotNetFx40_Full_setup.exe', AddProduct('dotNetFx40_Full_setup.exe',
CustomMessage('dotnetfx40full_lcid') + '/q /passive /norestart', CustomMessage('dotnetfx40full_lcid') + ' /passive /norestart',
CustomMessage('dotnetfx40full_title'), CustomMessage('dotnetfx40full_title'),
CustomMessage('dotnetfx40full_size'), CustomMessage('dotnetfx40full_size'),
dotnetfx40full_url, dotnetfx40full_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -0,0 +1,29 @@
; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2
; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below
; https://www.microsoft.com/en-US/download/details.aspx?id=49982
[CustomMessages]
dotnetfx46_title=.NET Framework 4.6.1
dotnetfx46_size=1 MB - 65 MB
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.dotnetfx46_lcid=
de.dotnetfx46_lcid=/lcid 1031
[Code]
const
dotnetfx461_url = 'http://download.microsoft.com/download/3/5/9/35980F81-60F4-4DE3-88FC-8F962B97253B/NDP461-KB3102438-Web.exe';
procedure dotnetfx46(minVersion: integer);
begin
if (not netfxinstalled(NetFx4x, '') or (netfxspversion(NetFx4x, '') < minVersion)) then
AddProduct('dotnetfx46.exe',
CustomMessage('dotnetfx46_lcid') + ' /passive /norestart',
CustomMessage('dotnetfx46_title'),
CustomMessage('dotnetfx46_size'),
dotnetfx461_url,
false, false, false);
end;
[Setup]

View file

@ -1,6 +1,6 @@
[Code] [Code]
type type
NetFXType = (NetFx10, NetFx11, NetFx20, NetFx30, NetFx35, NetFx40Client, NetFx40Full); NetFXType = (NetFx10, NetFx11, NetFx20, NetFx30, NetFx35, NetFx40Client, NetFx40Full, NetFx4x);
const const
netfx11plus_reg = 'Software\Microsoft\NET Framework Setup\NDP\'; netfx11plus_reg = 'Software\Microsoft\NET Framework Setup\NDP\';
@ -30,6 +30,12 @@ begin
RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Client' + lcid, 'Install', regVersion); RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Client' + lcid, 'Install', regVersion);
NetFx40Full: NetFx40Full:
RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Install', regVersion); RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Install', regVersion);
NetFx4x:
begin
RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Release', regVersion);
Result := (regVersion >= 378389); // 4.5.0+
Exit;
end;
end; end;
Result := (regVersion <> 0); Result := (regVersion <> 0);
end; end;
@ -64,6 +70,25 @@ begin
NetFx40Full: NetFx40Full:
if (not RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Servicing', regVersion)) then if (not RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Servicing', regVersion)) then
regVersion := -1; regVersion := -1;
NetFx4x:
if (RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Release', regVersion)) then begin
if (regVersion >= 394747) then
regVersion := 62 // 4.6.2+
else if (regVersion >= 394254) then
regVersion := 61 // 4.6.1+
else if (regVersion >= 393295) then
regVersion := 60 // 4.6+
else if (regVersion >= 379893) then
regVersion := 52 // 4.5.2+
else if (regVersion >= 378675) then
regVersion := 51 // 4.5.1+
else if (regVersion >= 378389) then
regVersion := 50 // 4.5.0+
else
regVersion := -1;
end;
end; end;
Result := regVersion; Result := regVersion;
end; end;
[Setup]

View file

@ -21,3 +21,5 @@ begin
else else
Result := '0'; Result := '0';
end; end;
[Setup]

View file

@ -1,6 +1,6 @@
// requires Windows 2000; Windows 98; Windows ME; Windows NT; Windows XP Service Pack 1 ; requires Windows 2000; Windows 98; Windows ME; Windows NT; Windows XP Service Pack 1
// WARNING: express setup (downloads and installs the components depending on your OS) ; WARNING: express setup (downloads and installs the components depending on your OS)
// http://www.microsoft.com/downloads/details.aspx?familyid=1E1550CB-5E5D-48F5-B02B-20B602228DE6 ; http://www.microsoft.com/downloads/details.aspx?familyid=1E1550CB-5E5D-48F5-B02B-20B602228DE6
[CustomMessages] [CustomMessages]
ie6_title=Internet Explorer 6 ie6_title=Internet Explorer 6
@ -8,21 +8,22 @@ ie6_title=Internet Explorer 6
en.ie6_size=1 MB - 77.5 MB en.ie6_size=1 MB - 77.5 MB
de.ie6_size=1 MB - 77,5 MB de.ie6_size=1 MB - 77,5 MB
[Code] [Code]
const const
ie6_url = 'http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe'; ie6_url = 'http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe';
procedure ie6(MinVersion: string); procedure ie6(minVersion: string);
var var
version: string; version: string;
begin begin
RegQueryStringValue(HKLM, 'Software\Microsoft\Internet Explorer', 'Version', version); RegQueryStringValue(HKLM, 'Software\Microsoft\Internet Explorer', 'Version', version);
if (compareversion(version, MinVersion) < 0) then if (compareversion(version, minVersion) < 0) then
AddProduct('ie6.exe', AddProduct('ie6.exe',
'/q:a /C:"setup /QNT"', '/q:a /C:"setup /QNT"',
CustomMessage('ie6_title'), CustomMessage('ie6_title'),
CustomMessage('ie6_size'), CustomMessage('ie6_size'),
ie6_url, ie6_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,7 +1,6 @@
[CustomMessages] [CustomMessages]
iis_title=Internet Information Services (IIS) iis_title=Internet Information Services (IIS)
[Code] [Code]
function iis(): boolean; function iis(): boolean;
begin begin
@ -9,4 +8,6 @@ begin
MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [CustomMessage('iis_title')]), mbError, MB_OK) MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [CustomMessage('iis_title')]), mbError, MB_OK)
else else
Result := true; Result := true;
end; end;
[Setup]

View file

@ -1,4 +1,4 @@
// http://support.microsoft.com/kb/239114 ; http://support.microsoft.com/kb/239114
[CustomMessages] [CustomMessages]
jet4sp8_title=Jet 4 jet4sp8_title=Jet 4
@ -6,19 +6,20 @@ jet4sp8_title=Jet 4
en.jet4sp8_size=3.7 MB en.jet4sp8_size=3.7 MB
de.jet4sp8_size=3,7 MB de.jet4sp8_size=3,7 MB
[Code] [Code]
const const
jet4sp8_url = 'http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/Jet40SP8_9xNT.exe'; jet4sp8_url = 'http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/Jet40SP8_9xNT.exe';
procedure jet4sp8(MinVersion: string); procedure jet4sp8(minVersion: string);
begin begin
//check for Jet4 Service Pack 8 installation //check for Jet4 Service Pack 8 installation
if (compareversion(fileversion(ExpandConstant('{sys}{\}msjet40.dll')), MinVersion) < 0) then if (compareversion(fileversion(ExpandConstant('{sys}{\}msjet40.dll')), minVersion) < 0) then
AddProduct('jet4sp8.exe', AddProduct('jet4sp8.exe',
'/q:a /c:"install /qb /l"', '/q:a /c:"install /qb /l"',
CustomMessage('jet4sp8_title'), CustomMessage('jet4sp8_title'),
CustomMessage('jet4sp8_size'), CustomMessage('jet4sp8_size'),
jet4sp8_url, jet4sp8_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,6 +1,6 @@
// required by .NET Framework 2.0 Service Pack 1 on Windows 2000 Service Pack 2-4 ; required by .NET Framework 2.0 Service Pack 1 on Windows 2000 Service Pack 2-4
// http://www.microsoft.com/technet/security/bulletin/ms04-011.mspx ; http://www.microsoft.com/technet/security/bulletin/ms04-011.mspx
// http://www.microsoft.com/downloads/details.aspx?FamilyId=0692C27E-F63A-414C-B3EB-D2342FBB6C00 ; http://www.microsoft.com/downloads/details.aspx?FamilyId=0692C27E-F63A-414C-B3EB-D2342FBB6C00
[CustomMessages] [CustomMessages]
en.kb835732_title=Windows 2000 Security Update (KB835732) en.kb835732_title=Windows 2000 Security Update (KB835732)
@ -9,7 +9,6 @@ de.kb835732_title=Windows 2000 Sicherheitsupdate (KB835732)
en.kb835732_size=6.8 MB en.kb835732_size=6.8 MB
de.kb835732_size=6,8 MB de.kb835732_size=6,8 MB
[Code] [Code]
const const
kb835732_url = 'http://download.microsoft.com/download/f/a/a/faa796aa-399d-437a-9284-c3536e9f2e6e/Windows2000-KB835732-x86-ENU.EXE'; kb835732_url = 'http://download.microsoft.com/download/f/a/a/faa796aa-399d-437a-9284-c3536e9f2e6e/Windows2000-KB835732-x86-ENU.EXE';
@ -19,10 +18,12 @@ begin
if (exactwinversion(5, 0) and (minwinspversion(5, 0, 2) and maxwinspversion(5, 0, 4))) then begin if (exactwinversion(5, 0) and (minwinspversion(5, 0, 2) and maxwinspversion(5, 0, 4))) then begin
if (not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB835732\Filelist')) then if (not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB835732\Filelist')) then
AddProduct('kb835732.exe', AddProduct('kb835732.exe',
'/q:a /c:"install /q"', '/passive /norestart',
CustomMessage('kb835732_title'), CustomMessage('kb835732_title'),
CustomMessage('kb835732_size'), CustomMessage('kb835732_size'),
kb835732_url, kb835732_url,
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -4,22 +4,23 @@ mdac28_title=Microsoft Data Access Components 2.8
en.mdac28_size=5.4 MB en.mdac28_size=5.4 MB
de.mdac28_size=5,4 MB de.mdac28_size=5,4 MB
[Code] [Code]
const const
mdac28_url = 'http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE'; mdac28_url = 'http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE';
procedure mdac28(MinVersion: string); procedure mdac28(minVersion: string);
var var
version: string; version: string;
begin begin
//check for MDAC installation //check for MDAC installation
RegQueryStringValue(HKLM, 'Software\Microsoft\DataAccess', 'FullInstallVer', version); RegQueryStringValue(HKLM, 'Software\Microsoft\DataAccess', 'FullInstallVer', version);
if (compareversion(version, MinVersion) < 0) then if (compareversion(version, minVersion) < 0) then
AddProduct('mdac28.exe', AddProduct('mdac28.exe',
'/q:a /c:"install /qb /l"', '/q:a /c:"install /qb /l"',
CustomMessage('mdac28_title'), CustomMessage('mdac28_title'),
CustomMessage('mdac28_size'), CustomMessage('mdac28_size'),
mdac28_url, mdac28_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -4,19 +4,20 @@ msi20_title=Windows Installer 2.0
en.msi20_size=1.7 MB en.msi20_size=1.7 MB
de.msi20_size=1,7 MB de.msi20_size=1,7 MB
[Code] [Code]
const const
msi20_url = 'http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe'; msi20_url = 'http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe';
procedure msi20(MinVersion: string); procedure msi20(minVersion: string);
begin begin
// Check for required Windows Installer 2.0 on Windows 98 and ME // Check for required Windows Installer 2.0 on Windows 98 and ME
if (IsX86() and maxwinversion(4, 9) and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), MinVersion) < 0)) then if (IsX86() and maxwinversion(4, 9) and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), minVersion) < 0)) then
AddProduct('msi20.exe', AddProduct('msi20.exe',
'/q:a /c:"msiinst /delayrebootq"', '/q:a /c:"msiinst /delayrebootq"',
CustomMessage('msi20_title'), CustomMessage('msi20_title'),
CustomMessage('msi20_size'), CustomMessage('msi20_size'),
msi20_url, msi20_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -4,19 +4,20 @@ msi31_title=Windows Installer 3.1
en.msi31_size=2.5 MB en.msi31_size=2.5 MB
de.msi31_size=2,5 MB de.msi31_size=2,5 MB
[Code] [Code]
const const
msi31_url = 'http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe'; msi31_url = 'http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe';
procedure msi31(MinVersion: string); procedure msi31(minVersion: string);
begin begin
// Check for required Windows Installer 3.0 on Windows 2000 or higher // Check for required Windows Installer 3.0 on Windows 2000 or higher
if (IsX86() and minwinversion(5, 0) and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), MinVersion) < 0)) then if (IsX86() and minwinversion(5, 0) and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), minVersion) < 0)) then
AddProduct('msi31.exe', AddProduct('msi31.exe',
'/passive /norestart', '/passive /norestart',
CustomMessage('msi31_title'), CustomMessage('msi31_title'),
CustomMessage('msi31_size'), CustomMessage('msi31_size'),
msi31_url, msi31_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -10,36 +10,37 @@ de.msi45win52_size=3,0 MB
en.msi45win51_size=3.2 MB en.msi45win51_size=3.2 MB
de.msi45win51_size=3,2 MB de.msi45win51_size=3,2 MB
[Code] [Code]
const const
msi45win60_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x86.msu'; msi45win60_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x86.msu';
msi45win52_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x86.exe'; msi45win52_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x86.exe';
msi45win51_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe'; msi45win51_url = 'http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe';
procedure msi45(MinVersion: string); procedure msi45(minVersion: string);
begin begin
if (IsX86() and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), MinVersion) < 0)) then begin if (IsX86() and (compareversion(fileversion(ExpandConstant('{sys}{\}msi.dll')), minVersion) < 0)) then begin
if minwinversion(6, 0) then if minwinversion(6, 0) then
AddProduct('msi45_60.msu', AddProduct('msi45_60.msu',
'/quiet /norestart', '/quiet /norestart',
CustomMessage('msi45_title'), CustomMessage('msi45_title'),
CustomMessage('msi45win60_size'), CustomMessage('msi45win60_size'),
msi45win60_url, msi45win60_url,
false, false) false, false, false)
else if minwinversion(5, 2) then else if minwinversion(5, 2) then
AddProduct('msi45_52.exe', AddProduct('msi45_52.exe',
'/quiet /norestart', '/quiet /norestart',
CustomMessage('msi45_title'), CustomMessage('msi45_title'),
CustomMessage('msi45win52_size'), CustomMessage('msi45win52_size'),
msi45win52_url, msi45win52_url,
false, false) false, false, false)
else if minwinversion(5, 1) then else if minwinversion(5, 1) then
AddProduct('msi45_51.exe', AddProduct('msi45_51.exe',
'/quiet /norestart', '/quiet /norestart',
CustomMessage('msi45_title'), CustomMessage('msi45_title'),
CustomMessage('msi45win51_size'), CustomMessage('msi45win51_size'),
msi45win51_url, msi45win51_url,
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -0,0 +1,25 @@
[Code]
#IFDEF UNICODE
#DEFINE AW "W"
#ELSE
#DEFINE AW "A"
#ENDIF
type
INSTALLSTATE = Longint;
const
INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function.
INSTALLSTATE_UNKNOWN = -1; // The product is neither advertised or installed.
INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed.
INSTALLSTATE_ABSENT = 2; // The product is installed for a different user.
INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user.
function MsiQueryProductState(szProduct: string): INSTALLSTATE;
external 'MsiQueryProductState{#AW}@msi.dll stdcall';
function msiproduct(const ProductID: string): boolean;
begin
Result := MsiQueryProductState(ProductID) = INSTALLSTATE_DEFAULT;
end;
[Setup]

View file

@ -1,7 +1,7 @@
// SQL Server Express is supported on x64 and EMT64 systems in Windows On Windows (WOW). SQL Server Express is not supported on IA64 systems ; SQL Server Express is supported on x64 and EMT64 systems in Windows On Windows (WOW). SQL Server Express is not supported on IA64 systems
// requires Microsoft .NET Framework 2.0 or later ; requires Microsoft .NET Framework 2.0 or later
// SQLEXPR32.EXE is a smaller package that can be used to install SQL Server Express on 32-bit operating systems only. The larger SQLEXPR.EXE package supports installing onto both 32-bit and 64-bit (WOW install) operating systems. There is no other difference between these packages. ; SQLEXPR32.EXE is a smaller package that can be used to install SQL Server Express on 32-bit operating systems only. The larger SQLEXPR.EXE package supports installing onto both 32-bit and 64-bit (WOW install) operating systems. There is no other difference between these packages.
// http://www.microsoft.com/download/en/details.aspx?id=15291 ; http://www.microsoft.com/download/en/details.aspx?id=15291
[CustomMessages] [CustomMessages]
sql2005express_title=SQL Server 2005 Express SP3 sql2005express_title=SQL Server 2005 Express SP3
@ -12,7 +12,6 @@ de.sql2005express_size=38,1 MB
en.sql2005express_size_x64=58.1 MB en.sql2005express_size_x64=58.1 MB
de.sql2005express_size_x64=58,1 MB de.sql2005express_size_x64=58,1 MB
[Code] [Code]
const const
sql2005express_url = 'http://download.microsoft.com/download/4/B/E/4BED5810-C8C0-4697-BDC3-DBC114B8FF6D/SQLEXPR32_NLA.EXE'; sql2005express_url = 'http://download.microsoft.com/download/4/B/E/4BED5810-C8C0-4697-BDC3-DBC114B8FF6D/SQLEXPR32_NLA.EXE';
@ -26,17 +25,19 @@ begin
//RTM: 9.00.1399.06 //RTM: 9.00.1399.06
//Service Pack 1: 9.1.2047.00 //Service Pack 1: 9.1.2047.00
//Service Pack 2: 9.2.3042.00 //Service Pack 2: 9.2.3042.00
// Newer detection method required for SP3 and x64 // TODO: Newer detection method required for SP3 and x64
//Service Pack 3: 9.00.4035.00 //Service Pack 3: 9.00.4035.00
//RegQueryDWordValue(HKLM, 'Software\Microsoft\Microsoft SQL Server\90\DTS\Setup', 'Install', version); //RegQueryDWordValue(HKLM, 'Software\Microsoft\Microsoft SQL Server\90\DTS\Setup', 'Install', version);
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version); RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version);
if (version < '9.00.4035') then begin if (version < '9.00.4035') then begin
if (not isIA64()) then if (not IsIA64()) then
AddProduct('sql2005express' + GetArchitectureString() + '.exe', AddProduct('sql2005express' + GetArchitectureString() + '.exe',
'/qb ADDLOCAL=ALL INSTANCENAME=SQLEXPRESS', '/qb ADDLOCAL=ALL INSTANCENAME=SQLEXPRESS',
CustomMessage('sql2005express_title'), CustomMessage('sql2005express_title'),
CustomMessage('sql2005express_size' + GetArchitectureString()), CustomMessage('sql2005express_size' + GetArchitectureString()),
GetString(sql2005express_url, sql2005express_url_x64, ''), GetString(sql2005express_url, sql2005express_url_x64, ''),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -1,9 +1,9 @@
// requires Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP ; requires Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP
// requires Microsoft .NET Framework 3.5 SP 1 or later ; requires Microsoft .NET Framework 3.5 SP 1 or later
// requires Windows Installer 4.5 or later ; requires Windows Installer 4.5 or later
// SQL Server Express is supported on x64 and EMT64 systems in Windows On Windows (WOW). SQL Server Express is not supported on IA64 systems ; SQL Server Express is supported on x64 and EMT64 systems in Windows On Windows (WOW). SQL Server Express is not supported on IA64 systems
// SQLEXPR32.EXE is a smaller package that can be used to install SQL Server Express on 32-bit operating systems only. The larger SQLEXPR.EXE package supports installing onto both 32-bit and 64-bit (WOW install) operating systems. There is no other difference between these packages. ; SQLEXPR32.EXE is a smaller package that can be used to install SQL Server Express on 32-bit operating systems only. The larger SQLEXPR.EXE package supports installing onto both 32-bit and 64-bit (WOW install) operating systems. There is no other difference between these packages.
// http://www.microsoft.com/download/en/details.aspx?id=3743 ; http://www.microsoft.com/download/en/details.aspx?id=3743
[CustomMessages] [CustomMessages]
sql2008expressr2_title=SQL Server 2008 Express R2 sql2008expressr2_title=SQL Server 2008 Express R2
@ -14,7 +14,6 @@ de.sql2008expressr2_size=58,2 MB
en.sql2008expressr2_size_x64=74.1 MB en.sql2008expressr2_size_x64=74.1 MB
de.sql2008expressr2_size_x64=74,1 MB de.sql2008expressr2_size_x64=74,1 MB
[Code] [Code]
const const
sql2008expressr2_url = 'http://download.microsoft.com/download/5/1/A/51A153F6-6B08-4F94-A7B2-BA1AD482BC75/SQLEXPR32_x86_ENU.exe'; sql2008expressr2_url = 'http://download.microsoft.com/download/5/1/A/51A153F6-6B08-4F94-A7B2-BA1AD482BC75/SQLEXPR32_x86_ENU.exe';
@ -28,12 +27,14 @@ begin
// making Express unnecessary. // making Express unnecessary.
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version); RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version);
if (compareversion(version, '10.5') < 0) then begin if (compareversion(version, '10.5') < 0) then begin
if (not isIA64()) then if (not IsIA64()) then
AddProduct('sql2008expressr2' + GetArchitectureString() + '.exe', AddProduct('sql2008expressr2' + GetArchitectureString() + '.exe',
'/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=All /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\administrators"', '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=All /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\administrators"',
CustomMessage('sql2008expressr2_title'), CustomMessage('sql2008expressr2_title'),
CustomMessage('sql2008expressr2_size' + GetArchitectureString()), CustomMessage('sql2008expressr2_size' + GetArchitectureString()),
GetString(sql2008expressr2_url, sql2008expressr2_url_x64, ''), GetString(sql2008expressr2_url, sql2008expressr2_url_x64, ''),
false, false); false, false, false);
end; end;
end; end;
[Setup]

View file

@ -4,7 +4,6 @@ sqlcompact35sp2_title=SQL Server Compact 3.5 Service Pack 2
en.sqlcompact35sp2_size=5.3 MB en.sqlcompact35sp2_size=5.3 MB
de.sqlcompact35sp2_size=5,3 MB de.sqlcompact35sp2_size=5,3 MB
[Code] [Code]
const const
sqlcompact35sp2_url = 'http://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe'; sqlcompact35sp2_url = 'http://download.microsoft.com/download/E/C/1/EC1B2340-67A0-4B87-85F0-74D987A27160/SSCERuntime-ENU.exe';
@ -17,5 +16,7 @@ begin
CustomMessage('sqlcompact35sp2_title'), CustomMessage('sqlcompact35sp2_title'),
CustomMessage('sqlcompact35sp2_size'), CustomMessage('sqlcompact35sp2_size'),
sqlcompact35sp2_url, sqlcompact35sp2_url,
false, false); false, false, false);
end; end;
[Setup]

View file

@ -1,3 +1,4 @@
[Code]
function stringtoversion(var temp: String): Integer; function stringtoversion(var temp: String): Integer;
var var
part: String; part: String;
@ -27,11 +28,18 @@ var
begin begin
num1 := stringtoversion(x); num1 := stringtoversion(x);
num2 := stringtoversion(y); num2 := stringtoversion(y);
if (num1 = -1) or (num2 = -1) then begin if (num1 = -1) and (num2 = -1) then begin
Result := 0; Result := 0;
Exit; Exit;
end; end;
if (num1 < 0) then begin
num1 := 0;
end;
if (num2 < 0) then begin
num2 := 0;
end;
if (num1 < num2) then begin if (num1 < num2) then begin
Result := -1; Result := -1;
end else if (num1 > num2) then begin end else if (num1 > num2) then begin
@ -50,3 +58,5 @@ begin
temp2 := versionB; temp2 := versionB;
Result := compareinnerversion(temp1, temp2); Result := compareinnerversion(temp1, temp2);
end; end;
[Setup]

View file

@ -0,0 +1,40 @@
; requires Windows 2000 Service Pack 3, Windows 98, Windows 98 Second Edition, Windows ME, Windows Server 2003, Windows XP Service Pack 2
; requires Windows Installer 3.0
; http://www.microsoft.com/en-us/download/details.aspx?id=3387
[CustomMessages]
vcredist2005_title=Visual C++ 2005 Redistributable
vcredist2005_title_x64=Visual C++ 2005 64-Bit Redistributable
vcredist2005_title_ia64=Visual C++ 2005 Itanium Redistributable
en.vcredist2005_size=2.6 MB
de.vcredist2005_size=2,6 MB
en.vcredist2005_size_x64=4.1 MB
de.vcredist2005_size_x64=4,1 MB
en.vcredist2005_size_ia64=8.8 MB
de.vcredist2005_size_ia64=8,8 MB
[Code]
const
vcredist2005_url = 'http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe';
vcredist2005_url_x64 = 'http://download.microsoft.com/download/9/1/4/914851c6-9141-443b-bdb4-8bad3a57bea9/vcredist_x64.exe';
vcredist2005_url_ia64 = 'http://download.microsoft.com/download/8/1/6/816129e4-7f2f-4ba6-b065-684223e2fe1e/vcredist_IA64.exe';
vcredist2005_productcode = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}';
vcredist2005_productcode_x64 = '{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}';
vcredist2005_productcode_ia64 = '{03ED71EA-F531-4927-AABD-1C31BCE8E187}';
procedure vcredist2005();
begin
if (not msiproduct(GetString(vcredist2005_productcode, vcredist2005_productcode_x64, vcredist2005_productcode_ia64))) then
AddProduct('vcredist2005' + GetArchitectureString() + '.exe',
'/q:a /c:"install /qb /l',
CustomMessage('vcredist2005_title' + GetArchitectureString()),
CustomMessage('vcredist2005_size' + GetArchitectureString()),
GetString(vcredist2005_url, vcredist2005_url_x64, vcredist2005_url_ia64),
false, false, false);
end;
[Setup]

View file

@ -0,0 +1,40 @@
; requires Windows 2000 Service Pack 4, Windows Server 2003, Windows Vista, Windows XP
; requires Windows Installer 3.0
; http://www.microsoft.com/en-us/download/details.aspx?id=29
[CustomMessages]
vcredist2008_title=Visual C++ 2008 Redistributable
vcredist2008_title_x64=Visual C++ 2008 64-Bit Redistributable
vcredist2008_title_ia64=Visual C++ 2008 Itanium Redistributable
en.vcredist2008_size=1.7 MB
de.vcredist2008_size=1,7 MB
en.vcredist2008_size_x64=2.3 MB
de.vcredist2008_size_x64=2,3 MB
en.vcredist2008_size_ia64=4.0 MB
de.vcredist2008_size_ia64=4,0 MB
[Code]
const
vcredist2008_url = 'http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe';
vcredist2008_url_x64 = 'http://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe';
vcredist2008_url_ia64 = 'http://download.microsoft.com/download/a/1/a/a1a4996b-ed78-4c2b-9589-8edd81b8df39/vcredist_IA64.exe';
vcredist2008_productcode = '{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}';
vcredist2008_productcode_x64 = '{350AA351-21FA-3270-8B7A-835434E766AD}';
vcredist2008_productcode_ia64 = '{2B547B43-DB50-3139-9EBE-37D419E0F5FA}';
procedure vcredist2008();
begin
if (not msiproduct(GetString(vcredist2008_productcode, vcredist2008_productcode_x64, vcredist2008_productcode_ia64))) then
AddProduct('vcredist2008' + GetArchitectureString() + '.exe',
'/q',
CustomMessage('vcredist2008_title' + GetArchitectureString()),
CustomMessage('vcredist2008_size' + GetArchitectureString()),
GetString(vcredist2008_url, vcredist2008_url_x64, vcredist2008_url_ia64),
false, false, false);
end;
[Setup]

View file

@ -1,10 +1,10 @@
// requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3 ; requires Windows 7, Windows Server 2003 R2 (32-Bit x86), Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2, Windows XP Service Pack 3
// requires Windows Installer 3.1 or later ; http://www.microsoft.com/en-us/download/details.aspx?id=5555
// requires Internet Explorer 5.01 or later
// http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992
[CustomMessages] [CustomMessages]
vcredist2010_title=Visual C++ 2010 Redistributable vcredist2010_title=Visual C++ 2010 Redistributable
vcredist2010_title_x64=Visual C++ 2010 64-Bit Redistributable
vcredist2010_title_ia64=Visual C++ 2010 Itanium Redistributable
en.vcredist2010_size=4.8 MB en.vcredist2010_size=4.8 MB
de.vcredist2010_size=4,8 MB de.vcredist2010_size=4,8 MB
@ -15,28 +15,25 @@ de.vcredist2010_size_x64=5,5 MB
en.vcredist2010_size_ia64=2.2 MB en.vcredist2010_size_ia64=2.2 MB
de.vcredist2010_size_ia64=2,2 MB de.vcredist2010_size_ia64=2,2 MB
;http://www.microsoft.com/globaldev/reference/lcid-all.mspx
en.vcredist2010_lcid=''
de.vcredist2010_lcid='/lcid 1031 '
[Code] [Code]
const const
vcredist2010_url = 'http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe'; vcredist2010_url = 'http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe';
vcredist2010_url_x64 = 'http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe'; vcredist2010_url_x64 = 'http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe';
vcredist2010_url_ia64 = 'http://download.microsoft.com/download/3/3/A/33A75193-2CBC-424E-A886-287551FF1EB5/vcredist_IA64.exe'; vcredist2010_url_ia64 = 'http://download.microsoft.com/download/3/3/A/33A75193-2CBC-424E-A886-287551FF1EB5/vcredist_IA64.exe';
procedure vcredist2010(); vcredist2010_productcode = '{196BB40D-1578-3D01-B289-BEFC77A11A1E}';
var vcredist2010_productcode_x64 = '{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}';
version: cardinal; vcredist2010_productcode_ia64 = '{C1A35166-4301-38E9-BA67-02823AD72A1B}';
begin
RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\' + GetString('x86', 'x64', 'ia64'), 'Install', version);
if (version <> 1) then procedure vcredist2010();
begin
if (not msiproduct(GetString(vcredist2010_productcode, vcredist2010_productcode_x64, vcredist2010_productcode_ia64))) then
AddProduct('vcredist2010' + GetArchitectureString() + '.exe', AddProduct('vcredist2010' + GetArchitectureString() + '.exe',
CustomMessage('vcredist2010_lcid') + '/passive /norestart', '/passive /norestart',
CustomMessage('vcredist2010_title'), CustomMessage('vcredist2010_title' + GetArchitectureString()),
CustomMessage('vcredist2010_size' + GetArchitectureString()), CustomMessage('vcredist2010_size' + GetArchitectureString()),
GetString(vcredist2010_url, vcredist2010_url_x64, vcredist2010_url_ia64), GetString(vcredist2010_url, vcredist2010_url_x64, vcredist2010_url_ia64),
false, false); false, false, false);
end; end;
[Setup]

View file

@ -0,0 +1,41 @@
; Requires Windows 7, Windows Server 2003 R2 (32-bit x86), Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2, Windows XP Service Pack 3
; x86 download page: https://www.microsoft.com/en-us/download/details.aspx?id=8328
; x64 download page: https://www.microsoft.com/en-us/download/details.aspx?id=13523
; IA64 download page: https://www.microsoft.com/en-us/download/details.aspx?id=21051
[CustomMessages]
vcredist2010_title=Visual C++ 2010 SP1 Redistributable
vcredist2010_title_x64=Visual C++ 2010 SP1 64-Bit Redistributable
vcredist2010_title_ia64=Visual C++ 2010 SP1 Itanium Redistributable
en.vcredist2010_size=4.8 MB
de.vcredist2010_size=4,8 MB
en.vcredist2010_size_x64=5.4 MB
de.vcredist2010_size_x64=5,4 MB
en.vcredist2010_size_ia64=2.2 MB
de.vcredist2010_size_ia64=2,2 MB
[Code]
const
vcredist2010_url_x86 = 'http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe';
vcredist2010_url_x64 = 'http://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe';
vcredist2010_url_ia64 = 'http://download.microsoft.com/download/7/7/3/77332C03-CC6C-45E5-A7B6-E02504B93847/vcredist_IA64.exe';
vcredist2010_productcode_x86 = '{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}';
vcredist2010_productcode_x64 = '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}';
vcredist2010_productcode_ia64 = '{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}';
procedure vcredist2010();
begin
if (not msiproduct(GetString(vcredist2010_productcode_x86, vcredist2010_productcode_x64, vcredist2010_productcode_ia64))) then
AddProduct('vcredist2010' + GetArchitectureString() + '.exe',
'/passive /norestart',
CustomMessage('vcredist2010_title' + GetArchitectureString()),
CustomMessage('vcredist2010_size' + GetArchitectureString()),
GetString(vcredist2010_url_x86, vcredist2010_url_x64, vcredist2010_url_ia64),
false, false, false);
end;
[Setup]

View file

@ -0,0 +1,35 @@
; requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP
; http://www.microsoft.com/en-us/download/details.aspx?id=30679
[CustomMessages]
vcredist2012_title=Visual C++ 2012 Redistributable
vcredist2012_title_x64=Visual C++ 2012 64-Bit Redistributable
en.vcredist2012_size=6.3 MB
de.vcredist2012_size=6,3 MB
en.vcredist2012_size_x64=6.4 MB
de.vcredist2012_size_x64=6,4 MB
[Code]
const
vcredist2012_url = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe';
vcredist2012_url_x64 = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe';
vcredist2012_productcode = '{BD95A8CD-1D9F-35AD-981A-3E7925026EBB}';
vcredist2012_productcode_x64 = '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}';
procedure vcredist2012();
begin
if (not IsIA64()) then begin
if (not msiproduct(GetString(vcredist2012_productcode, vcredist2012_productcode_x64, ''))) then
AddProduct('vcredist2012' + GetArchitectureString() + '.exe',
'/passive /norestart',
CustomMessage('vcredist2012_title' + GetArchitectureString()),
CustomMessage('vcredist2012_size' + GetArchitectureString()),
GetString(vcredist2012_url, vcredist2012_url_x64, ''),
false, false, false);
end;
end;
[Setup]

View file

@ -0,0 +1,35 @@
; requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2, Windows XP
; http://www.microsoft.com/en-US/download/details.aspx?id=40784
[CustomMessages]
vcredist2013_title=Visual C++ 2013 Redistributable
vcredist2013_title_x64=Visual C++ 2013 64-Bit Redistributable
en.vcredist2013_size=6.2 MB
de.vcredist2013_size=6,2 MB
en.vcredist2013_size_x64=6.9 MB
de.vcredist2013_size_x64=6,9 MB
[Code]
const
vcredist2013_url = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe';
vcredist2013_url_x64 = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe';
vcredist2013_productcode = '{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}';
vcredist2013_productcode_x64 = '{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}';
procedure vcredist2013();
begin
if (not IsIA64()) then begin
if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode_x64, ''))) then
AddProduct('vcredist2013' + GetArchitectureString() + '.exe',
'/passive /norestart',
CustomMessage('vcredist2013_title' + GetArchitectureString()),
CustomMessage('vcredist2013_size' + GetArchitectureString()),
GetString(vcredist2013_url, vcredist2013_url_x64, ''),
false, false, false);
end;
end;
[Setup]

View file

@ -0,0 +1,35 @@
; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP Service Pack 3
; http://www.microsoft.com/en-US/download/details.aspx?id=48145
[CustomMessages]
vcredist2015_title=Visual C++ 2015 Redistributable
vcredist2015_title_x64=Visual C++ 2015 64-Bit Redistributable
en.vcredist2015_size=12.8 MB
de.vcredist2015_size=12,8 MB
en.vcredist2015_size_x64=13.9 MB
de.vcredist2015_size_x64=13,9 MB
[Code]
const
vcredist2015_url = 'http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe';
vcredist2015_url_x64 = 'http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe';
vcredist2015_productcode = '{74D0E5DB-B326-4DAE-A6B2-445B9DE1836E}';
vcredist2015_productcode_x64 = '{0D3E9E15-DE7A-300B-96F1-B4AF12B96488}';
procedure vcredist2015();
begin
if (not IsIA64()) then begin
if (not msiproduct(GetString(vcredist2015_productcode, vcredist2015_productcode_x64, ''))) then
AddProduct('vcredist2015' + GetArchitectureString() + '.exe',
'/passive /norestart',
CustomMessage('vcredist2015_title' + GetArchitectureString()),
CustomMessage('vcredist2015_size' + GetArchitectureString()),
GetString(vcredist2015_url, vcredist2015_url_x64, ''),
false, false, false);
end;
end;
[Setup]

View file

@ -1,11 +1,10 @@
//requires Windows Server 2003, Windows Server 2003 R2 Datacenter Edition (32-Bit x86), Windows Server 2003 R2 Enterprise Edition (32-Bit x86), Windows Server 2003 R2 Standard Edition (32-bit x86), Windows XP Service Pack 2 ; requires Windows Server 2003, Windows Server 2003 R2 Datacenter Edition (32-Bit x86), Windows Server 2003 R2 Enterprise Edition (32-Bit x86), Windows Server 2003 R2 Standard Edition (32-bit x86), Windows XP Service Pack 2
[CustomMessages] [CustomMessages]
wic_title=Windows Imaging Component wic_title=Windows Imaging Component
en.wic_size=1.2 MB en.wic_size=1.2 MB
de.wic_size=1,2 MB de.wic_size=1,2 MB
[Code] [Code]
const const
@ -40,7 +39,7 @@ end;
procedure wic(); procedure wic();
begin begin
if (not isIA64()) then begin if (not IsIA64()) then begin
//only needed on Windows XP SP2 or Windows Server 2003 //only needed on Windows XP SP2 or Windows Server 2003
if ((exactwinversion(5, 1) and exactwinspversion(5, 1, 2)) or (exactwinversion(5, 2))) then begin if ((exactwinversion(5, 1) and exactwinspversion(5, 1, 2)) or (exactwinversion(5, 2))) then begin
if (not FileExists(GetEnv('windir') + '\system32\windowscodecs.dll')) then if (not FileExists(GetEnv('windir') + '\system32\windowscodecs.dll')) then
@ -49,7 +48,9 @@ begin
CustomMessage('wic_title'), CustomMessage('wic_title'),
CustomMessage('wic_size'), CustomMessage('wic_size'),
GetString(wic_url, wic_url_x64, '') + GetConvertedLanguageID() + '.exe', GetString(wic_url, wic_url_x64, '') + GetConvertedLanguageID() + '.exe',
false, false); false, false, false);
end; end;
end; end;
end; end;
[Setup]

View file

@ -44,4 +44,6 @@ begin
Result := WindowsVersion.ServicePackMajor <= SpVersion Result := WindowsVersion.ServicePackMajor <= SpVersion
else else
Result := true; Result := true;
end; end;
[Setup]

View file

@ -0,0 +1,120 @@
/*
* Greenshot - a free and open source screenshot tool
* Copyright (C) 2007-2015 Thomas Braun, Jens Klingen, Robin Krom
*
* For more information see: http://getgreenshot.org/
* The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using Dapplo.Log.Facade;
using log4net;
namespace GreenshotJiraPlugin
{
/// <summary>
/// Used to make Dapplo.Log, used in Dapplo.Jira, write to Log4net
/// </summary>
public class Log4NetLogger : AbstractLogger
{
private ILog GetLogger(LogSource logSource)
{
return logSource.SourceType != null ? LogManager.GetLogger(logSource.SourceType) : LogManager.GetLogger(logSource.Source);
}
/// <summary>
/// Write the supplied information to a log4net.ILog
/// </summary>
/// <param name="logInfo">LogInfo</param>
/// <param name="messageTemplate">string</param>
/// <param name="propertyValues">params object[]</param>
public override void Write(LogInfo logInfo, string messageTemplate, params object[] propertyValues)
{
var log = GetLogger(logInfo.Source);
switch (logInfo.LogLevel)
{
case LogLevels.Verbose:
case LogLevels.Debug:
if (propertyValues != null)
log.DebugFormat(messageTemplate, propertyValues);
else
log.Debug(messageTemplate);
break;
case LogLevels.Error:
if (propertyValues != null)
log.ErrorFormat(messageTemplate, propertyValues);
else
log.Error(messageTemplate);
break;
case LogLevels.Fatal:
if (propertyValues != null)
log.FatalFormat(messageTemplate, propertyValues);
else
log.Fatal(messageTemplate);
break;
case LogLevels.Info:
if (propertyValues != null)
log.InfoFormat(messageTemplate, propertyValues);
else
log.Info(messageTemplate);
break;
case LogLevels.Warn:
if (propertyValues != null)
log.WarnFormat(messageTemplate, propertyValues);
else
log.Warn(messageTemplate);
break;
}
}
/// <summary>
/// Make sure there are no newlines passed
/// </summary>
/// <param name="logInfo"></param>
/// <param name="messageTemplate"></param>
/// <param name="logParameters"></param>
public override void WriteLine(LogInfo logInfo, string messageTemplate, params object[] logParameters)
{
Write(logInfo, messageTemplate, logParameters);
}
/// <summary>
/// Test if a certain LogLevels enum is enabled
/// </summary>
/// <param name="level">LogLevels value</param>
/// <param name="logSource">LogSource to check for</param>
/// <returns>bool true if the LogLevels enum is enabled</returns>
public override bool IsLogLevelEnabled(LogLevels level, LogSource logSource = null)
{
var log = GetLogger(logSource);
switch (level)
{
case LogLevels.Verbose:
case LogLevels.Debug:
return log.IsDebugEnabled;
case LogLevels.Error:
return log.IsErrorEnabled;
case LogLevels.Fatal:
return log.IsFatalEnabled;
case LogLevels.Info:
return log.IsInfoEnabled;
case LogLevels.Warn:
return log.IsWarnEnabled;
}
return false;
}
}
}