forked from Thomas-Mielke-Software/ECTImport
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathECTImportX.iss
113 lines (103 loc) · 4.25 KB
/
ECTImportX.iss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
; Script generated by the Inno Setup Script Wizard. Version 2 !!!
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=CSV-Import
AppVerName=CSV-Import 5.3
DiskSpanning=no
AppPublisher=tm
AppPublisherURL=http://www.easyct.de
AppSupportURL=http://www.easyct.de
AppUpdatesURL=http://www.easyct.de
DefaultDirName={pf}\EasyCash&Tax\Plugins\CSV-Import
DefaultGroupName=EasyCash
OutputBaseFilename=ECTImportXSetup
OutputDir=.\Setup
MinVersion=5.0
; MFC9 greift auf GetFileSizeEx zu, das Win 98 nicht in der kernel.dll hat.
Compression=bzip
SignTool=vs6
[Files]
Source: .\Release\ECTImportX.ocx; DestDir: {app}; Flags: regserver ignoreversion
Source: .\ECTIFace.dll; DestDir: {app}; Flags: ignoreversion
; ECTIFace nur noch benötigt für GetIniFileName
Source: .\LIZENZ.TXT; DestDir: {app}; Flags: ignoreversion
; veraltete Help Datei nicht mehr: Source: D:\Work\ECTImportX\Release\ECTEImport.hlp; DestDir: {app}; Flags: ignoreversion
Source: .\ECTEImport.htm; DestDir: {app}; Flags: ignoreversion
Source: .\gawk.exe; DestDir: {app}; Flags: ignoreversion
Source: .\button.gif; DestDir: {app}; Flags: ignoreversion
[Registry]
Root: HKLM; Subkey: Software\Tools; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\Tools\EasyCash; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; Flags: uninsdeletekey
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; ValueType: string; ValueName: Aufruf; ValueData: ECTImportX.ECTImportXCtrl.1
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; ValueType: string; ValueName: Beschreibung; ValueData: kann Daten im CSV-Format (Character Separated Values) importieren
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; ValueType: string; ValueName: Bitmap; ValueData: {app}\button.gif
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; ValueType: string; ValueName: Name; ValueData: CSV-Import
Root: HKLM; Subkey: Software\Tools\EasyCash\Plugins\CSV-Import; ValueType: string; ValueName: Typ; ValueData: noscroll
[Languages]
Name: "de"; MessagesFile: "compiler:Languages\German.isl"
[Code]
// shared code for installing the products
#include "scripts\products.iss"
// helper functions
#include "scripts\products\stringversion.iss"
#include "scripts\products\winversion.iss"
#include "scripts\products\fileversion.iss"
// actual products
#include "scripts\products\msiproduct.iss"
#include "scripts\products\vcredist2013.iss"
function CheckProcessRunning( aProcName,
aProcDesc: string ): boolean;
var
ShellResult: boolean;
ResultCode: integer;
cmd: string;
sl: TStringList;
f: string;
d: string;
begin
cmd := 'for /f "delims=," %%i ' +
'in (''tasklist /FI "IMAGENAME eq ' + aProcName + '" /FO CSV'') ' +
'do if "%%~i"=="' + aProcName + '" exit 1';
f := 'CheckProc.cmd';
d := AddBackSlash( ExpandConstant( '{tmp}' ));
sl := TStringList.Create;
sl.Add( cmd );
sl.Add( 'exit /0' );
sl.SaveToFile( d + f );
sl.Free;
Result := true;
while ( Result ) do
begin
ResultCode := 1;
ShellResult := Exec( f,
'',
d,
SW_HIDE,
ewWaitUntilTerminated,
ResultCode );
Result := ResultCode > 0;
if Result and
( MsgBox( aProcDesc + ' ist noch aktiv. Das Programm muss beendet werden, um fortzufahren.'#13#10#13#10 +
'Bitte wechseln Sie zu dem Programm, schließen Sie es und drücken auf OK.',
mbConfirmation,
MB_OKCANCEL ) <> IDOK ) then
Break;
end;
DeleteFile( d + f );
end;
// Perform some initializations. Return False to abort setup
function InitializeSetup: Boolean;
begin
// Do not use any user defined vars in here such as {app}
Result := not ( CheckProcessRunning( 'EasyCT.exe', 'EasyCash&Tax' ));
initwinversion();
SetForceX86(true); // force 32-bit install of next products
vcredist2013();
SetForceX86(false); // disable forced 32-bit install again
end;
function InitializeUninstall: Boolean;
begin
Result := not ( CheckProcessRunning( 'EasyCT.exe', 'EasyCash&Tax' ));
end;