diff options
-rw-r--r-- | setup/windows/traccar.iss | 69 | ||||
-rw-r--r-- | setup/windows/windows.cfg | 130 |
2 files changed, 199 insertions, 0 deletions
diff --git a/setup/windows/traccar.iss b/setup/windows/traccar.iss new file mode 100644 index 000000000..836492230 --- /dev/null +++ b/setup/windows/traccar.iss @@ -0,0 +1,69 @@ +[Setup]
+AppName=Traccar
+AppVersion=1.0
+DefaultDirName={pf}\Traccar
+AlwaysRestart=yes
+
+[Dirs]
+Name: "{app}\bin"
+Name: "{app}\conf"
+Name: "{app}\data"
+Name: "{app}\lib"
+Name: "{app}\logs"
+
+[Files]
+Source: "wrapper\bin\wrapper.exe"; DestDir: "{app}\bin"
+Source: "wrapper\src\bin\App.bat.in"; DestDir: "{app}\bin"; DestName: "Traccar.bat"
+Source: "wrapper\src\bin\InstallApp-NT.bat.in"; DestDir: "{app}\bin"; DestName: "InstallTraccar-NT.bat"
+Source: "wrapper\src\bin\UninstallApp-NT.bat.in"; DestDir: "{app}\bin"; DestName: "UninstallTraccar-NT.bat"
+Source: "wrapper\lib\wrapper.dll"; DestDir: "{app}\lib";
+Source: "wrapper\lib\wrapper.jar"; DestDir: "{app}\lib";
+Source: "wrapper\src\conf\wrapper.conf.in"; DestDir: "{app}\conf"; DestName: "wrapper.conf"; AfterInstall: ConfigureWrapper
+
+Source: "tracker-server.jar"; DestDir: "{app}"
+Source: "lib\*"; DestDir: "{app}\lib"
+Source: "windows.cfg"; DestDir: "{app}\conf"; AfterInstall: ConfigureApplication
+
+[Run]
+Filename: "{app}\bin\InstallTraccar-NT.bat"
+
+[UninstallRun]
+Filename: "{app}\bin\UninstallTraccar-NT.bat"
+
+[Code]
+function InitializeSetup(): Boolean;
+begin
+ if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\JavaSoft\Java Runtime Environment') then
+ begin
+ Result := true;
+ end
+ else
+ begin
+ Result := false;
+ MsgBox('This application requires Java Runtime Environment version 1.6 or later. Please download and install the JRE and run this setup again.', mbCriticalError, MB_OK);
+ end;
+end;
+
+procedure ConfigureWrapper();
+var
+ S: String;
+begin
+ LoadStringFromFile(ExpandConstant(CurrentFileName), S);
+ Insert('wrapper.java.classpath.2=../tracker-server.jar' + #13#10, S, Pos('wrapper.java.classpath.1', S));
+ Insert(ExpandConstant('wrapper.app.parameter.2="{app}\conf\windows.cfg"') + #13#10, S, Pos('wrapper.app.parameter.1', S));
+ StringChangeEx(S, '<YourMainClass>', 'Main', true);
+ StringChangeEx(S, '@app.name@', 'Traccar', true);
+ StringChangeEx(S, '@app.long.name@', 'Traccar', true);
+ StringChangeEx(S, '@app.description@', 'Traccar', true);
+ SaveStringToFile(ExpandConstant(CurrentFileName), S, false);
+end;
+
+procedure ConfigureApplication();
+var
+ S: String;
+begin
+ LoadStringFromFile(ExpandConstant(CurrentFileName), S);
+ StringChangeEx(S, '[DATABASE]', ExpandConstant('{app}\data\database'), true);
+ StringChangeEx(S, '[LOG]', ExpandConstant('{app}\logs\tracker-server.log'), true);
+ SaveStringToFile(ExpandConstant(CurrentFileName), S, false);
+end;
diff --git a/setup/windows/windows.cfg b/setup/windows/windows.cfg new file mode 100644 index 000000000..e804dacaa --- /dev/null +++ b/setup/windows/windows.cfg @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+
+<properties>
+
+ <!-- Global confiduration -->
+ <entry key="database.driver">org.h2.Driver</entry>
+ <entry key="database.url">jdbc:h2:[DATABASE]</entry>
+ <entry key="database.user">sa</entry>
+ <entry key="database.password"></entry>
+
+ <!-- Database refresh delay in seconds -->
+ <entry key="database.refreshDelay">300</entry>
+
+ <!-- Create database schema -->
+ <entry key="database.initialize">
+ CREATE TABLE IF NOT EXISTS devices (id INT IDENTITY, imei VARCHAR(16));
+ CREATE TABLE IF NOT EXISTS positions (device_id INT, time TIMESTAMP, valid BOOLEAN, latitude DOUBLE, longitude DOUBLE, speed DOUBLE, course DOUBLE, power DOUBLE);
+ </entry>
+
+ <!-->
+ id - Integer
+ imei - String
+ <-->
+ <entry key="database.selectDevice">
+ SELECT id, imei
+ FROM devices
+ </entry>
+
+ <!-->
+ imei - String
+ <-->
+ <entry key="database.insertDevice">
+ INSERT INTO devices (imei)
+ VALUES (:imei)
+ </entry>
+
+ <!-->
+ id - Integer
+ imei - String
+ <-->
+ <entry key="database.updateDevice">
+ UPDATE devices
+ SET imei = :imei
+ WHERE id = :id
+ </entry>
+
+ <!-->
+ id - Integer
+ <-->
+ <entry key="database.deleteDevice">
+ DELETE FROM devices
+ WHERE id = :id
+ </entry>
+
+ <!-->
+ device_id - Integer
+ <-->
+ <entry key="database.selectPosition">
+ SELECT *
+ FROM positions
+ WHERE device_id = :device_id
+ </entry>
+
+ <!-->
+ device_id - Integer
+ time - Date
+ valid - Boolean
+ latitude - Double
+ longitude - Double
+ speed - Double
+ course - Double
+ power - Double (NULL for some protocols)
+ extended_info - String (XML)
+ <-->
+ <entry key="database.insertPosition">
+ INSERT INTO positions (device_id, time, valid, latitude, longitude, speed, course, power)
+ VALUES (:device_id, :time, :valid, :latitude, :longitude, :speed, :course, :power)
+ </entry>
+
+ <!-- Web interface port -->
+ <entry key="http.enable">true</entry>
+ <entry key="http.port">8082</entry>
+
+ <!-- Logging options -->
+ <entry key="logger.enable">false</entry>
+ <entry key="logger.file">[LOG]</entry>
+
+ <!-- Xexun server configuration -->
+ <entry key="xexun.enable">true</entry>
+ <entry key="xexun.port">5000</entry>
+ <entry key="xexun.resetDelay">0</entry>
+
+ <!-- Gps103 server configuration -->
+ <entry key="gps103.enable">true</entry>
+ <entry key="gps103.port">5001</entry>
+ <entry key="gps103.resetDelay">0</entry>
+
+ <!-- Tk103 server configuration -->
+ <entry key="tk103.enable">true</entry>
+ <entry key="tk103.port">5002</entry>
+ <entry key="tk103.resetDelay">0</entry>
+
+ <!-- Gl100 server configuration -->
+ <entry key="gl100.enable">true</entry>
+ <entry key="gl100.port">5003</entry>
+ <entry key="gl100.resetDelay">0</entry>
+
+ <!-- Gl200 server configuration -->
+ <entry key="gl200.enable">true</entry>
+ <entry key="gl200.port">5004</entry>
+ <entry key="gl200.resetDelay">0</entry>
+
+ <!-- T55 server configuration -->
+ <entry key="t55.enable">true</entry>
+ <entry key="t55.port">5005</entry>
+ <entry key="t55.resetDelay">0</entry>
+
+ <!-- Xexun 2 server configuration -->
+ <entry key="xexun2.enable">true</entry>
+ <entry key="xexun2.port">5006</entry>
+ <entry key="xexun2.resetDelay">0</entry>
+
+ <!-- AVL-08 server configuration -->
+ <entry key="avl08.enable">true</entry>
+ <entry key="avl08.port">5007</entry>
+ <entry key="avl08.resetDelay">0</entry>
+
+</properties>
|