1
1
REM ----------------------------------------------------------------------------
2
- REM Assume, you have your PostgreSQL and PgAdmin3 build in %BUILD_DIR%\distr_X.._9.x ...
2
+ REM Assume, you have your PostgreSQL and PgAdmin3 build in %BUILD_DIR%\distr_X.._9.4 ...
3
3
REM For PostgreSQL you have 'postgresql' directory and
4
4
REM for PgAdmin3 you have 'pgadmin' directory
5
5
REM ----------------------------------------------------------------------------
@@ -9,54 +9,75 @@ SET DEFAULT_PORT=5432
9
9
SET DEFAULT_USER = postgres
10
10
11
11
SET PRODUCT_PUBLISHER = " Postgres Professional Russia"
12
- SET COMPANY_NAME = Postgres Professional
12
+ SET COMPANY_NAME = PostgresPro
13
13
SET PRODUCT_WEB_SITE = " http://postgrespro.ru"
14
14
15
+ IF " %PRODUCT_NAME% " == " " SET PRODUCT_NAME = PostgresPro
16
+
17
+ SET PRODUCT_DIR_REGKEY = SOFTWARE\%COMPANY_NAME% \%ARCH% \%PRODUCT_NAME% \%PG_MAJOR_VERSION%
18
+ SET PREV_PRODUCT_DIR_REGKEY = SOFTWARE\%COMPANY_NAME% \%ARCH% \%PRODUCT_NAME% \%PG_PREV_MAJOR_VERSION%
19
+ REM The OLD_* variables used for upgrade from old installers, which was built without PRODUCT_NAME.
20
+ SET OLD_PRODUCT_DIR_REGKEY = SOFTWARE\%COMPANY_NAME% \%ARCH% \%PG_MAJOR_VERSION%
21
+ SET OLD_PREV_PRODUCT_DIR_REGKEY = SOFTWARE\%COMPANY_NAME% \%ARCH% \%PG_PREV_MAJOR_VERSION%
22
+
23
+ REM Set Service-Id
24
+ SET PG_DEF_SERVICEID = " postgresql-%ARCH% -%PG_MAJOR_VERSION% "
25
+ IF " %PRODUCT_NAME% " == " PostgreSQL" SET PG_DEF_SERVICEID = " postgresql-%ARCH% -%PG_MAJOR_VERSION% "
26
+ IF " %PRODUCT_NAME% " == " PostgresPro" SET PG_DEF_SERVICEID = " postgrespro-%ARCH% -%PG_MAJOR_VERSION% "
27
+ IF " %PRODUCT_NAME% " == " PostgresProEnterprise" SET PG_DEF_SERVICEID = " postgrespro-enterprise-%ARCH% -%PG_MAJOR_VERSION% "
28
+
15
29
IF %ARCH% == X86 (
16
- SET BITS = 32bit
30
+ SET BITS = 32bit
17
31
)else (
18
- SET BITS = 64bit
32
+ SET BITS = 64bit
19
33
)
20
-
21
34
IF %ONE_C% == YES (
22
- SET PRODUCT_NAME = PostgreSQL 1C
23
- IF %BITS% == 32bitSET PG_DEF_SERVICEID = postgresql-1c-%PG_MAJOR_VERSION% -%BITS%
24
- IF %BITS% == 64bitSET PG_DEF_SERVICEID = postgresql-1c-%PG_MAJOR_VERSION%
25
- SET PG_INS_SUFFIX = %BITS% _1C_Setup.exe
26
- SET WITH_1C = " TRUE"
35
+ SET PRODUCT_NAME = PostgresPro 1C
36
+ SET PG_DEF_SERVICEID = " postgrespro-1C-${PRODUCT_VERSION}"
37
+ SET PG_INS_SUFFIX = " %ARCH% bit_1C_Setup.exe"
38
+ SET PG_REG_KEY = " Software\Postgres Professional\${PRODUCT_NAME}\Installations\postgresql-${PRODUCT_VERSION}"
39
+ SET PG_REG_SERVICE_KEY = " Software\Postgres Professional\${PRODUCT_NAME}\Services\postgresql-${PRODUCT_VERSION}"
40
+ SET PRODUCT_DIR_REGKEY = " Software\Postgres Professional\${PRODUCT_NAME}\${PRODUCT_VERSION}"
41
+ SET PRODUCT_VERSION = " %PG_MAJOR_VERSION% "
27
42
)ELSE (
28
- SET PRODUCT_NAME = PostgreSQL
29
- IF %BITS% == 32bitSET PG_DEF_SERVICEID = postgresql-%PG_MAJOR_VERSION% -%BITS%
30
- IF %BITS% == 64bitSET PG_DEF_SERVICEID = postgresql-%PG_MAJOR_VERSION%
31
- SET PG_INS_SUFFIX = %BITS% _Setup.exe
32
- SET WITH_1C = " FALSE"
43
+ SET PG_INS_SUFFIX = " %BITS% _Setup.exe"
44
+ SET PRODUCT_VERSION = " %PG_MAJOR_VERSION% (%BITS% )"
45
+ SET PG_REG_KEY = " %PRODUCT_DIR_REGKEY% \Installations\postgresql-%PG_MAJOR_VERSION% "
46
+ SET PG_REG_SERVICE_KEY = " %PRODUCT_DIR_REGKEY% \Services\postgresql-%PG_MAJOR_VERSION% "
47
+ SET PG_PREV_REG_KEY = " %PREV_PRODUCT_DIR_REGKEY% \Installations\postgresql-%PG_PREV_MAJOR_VERSION% "
48
+ SET PG_PREV_REG_SERVICE_KEY = " %PREV_PRODUCT_DIR_REGKEY% \Services\postgresql-%PG_PREV_MAJOR_VERSION% "
49
+ SET PG_OLD_REG_KEY = " %OLD_PRODUCT_DIR_REGKEY% \Installations\postgresql-%PG_MAJOR_VERSION% "
50
+ SET PG_OLD_REG_SERVICE_KEY = " %OLD_PRODUCT_DIR_REGKEY% \Services\postgresql-%PG_MAJOR_VERSION% "
51
+ SET PG_OLD_PREV_REG_KEY = " %OLD_PREV_PRODUCT_DIR_REGKEY% \Installations\postgresql-%PG_PREV_MAJOR_VERSION% "
52
+ SET PG_OLD_PREV_REG_SERVICE_KEY = " %OLD_PREV_PRODUCT_DIR_REGKEY% \Services\postgresql-%PG_PREV_MAJOR_VERSION% "
33
53
)
34
54
35
- SET PRODUCT_DIR_REGKEY = SOFTWARE\%COMPANY_NAME% \%ARCH% \%PRODUCT_NAME% \%PG_MAJOR_VERSION%
36
- SET PG_REG_KEY = %PRODUCT_DIR_REGKEY% \Installations\%PG_DEF_SERVICEID%
37
- SET PG_REG_SERVICE_KEY = %PRODUCT_DIR_REGKEY% \Services\%PG_DEF_SERVICEID%
38
-
39
- SET PRODUCT_VERSION = " %PG_DEF_VERSION% (%BITS% )"
40
-
41
55
SET PG_DEF_PORT = " %DEFAULT_PORT% "
42
56
SET PG_DEF_SUPERUSER = " %DEFAULT_USER% "
43
57
SET PG_DEF_SERVICEACCOUNT = " NT AUTHORITY\NetworkService"
44
58
SET PG_DEF_BRANDING = " %PRODUCT_NAME% %PG_MAJOR_VERSION% (%BITS% )"
45
- SET PG_INS_SOURCE_DIR = " %BUILD_DIR% \distr_%ARCH% _%PG_DEF_VERSION% \postgresql\*.*"
59
+ rem SET PG_INS_SOURCE_DIR="%BUILD_DIR%\distr_%ARCH%_%PG_DEF_VERSION%\postgresql\*.*"
60
+ SET PG_INS_SOURCE_DIR = " %BUILD_DIR% \distr_%ARCH% _%PG_DEF_VERSION% \postgresql"
46
61
47
62
SET NSIS_RES_DIR = %~dp0
48
63
SET NSIS_RES_DIR = %NSIS_RES_DIR:~0 ,-1 %
49
64
SET NSIS_RES_DIR = %NSIS_RES_DIR% \..\..\nsis
50
65
51
66
REM PostgreSQL Section
52
- > %NSIS_RES_DIR% \postgres.def.nshECHO !addplugindir" %NSIS_RES_DIR% \Plugins"
53
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME" %PRODUCT_NAME% "
67
+ > %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME" %PRODUCT_NAME% "
54
68
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_VERSION%PRODUCT_VERSION%
55
69
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_PUBLISHER%PRODUCT_PUBLISHER%
56
70
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_WEB_SITE%PRODUCT_WEB_SITE%
57
71
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_DIR_REGKEY" %PRODUCT_DIR_REGKEY% "
58
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_REG_KEY" %PG_REG_KEY% "
59
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_REG_SERVICE_KEY" %PG_REG_SERVICE_KEY% "
72
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define OLD_PRODUCT_DIR_REGKEY" %OLD_PRODUCT_DIR_REGKEY% "
73
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_REG_KEY%PG_REG_KEY%
74
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_REG_SERVICE_KEY%PG_REG_SERVICE_KEY%
75
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_PREV_REG_KEY%PG_PREV_REG_KEY%
76
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_PREV_REG_SERVICE_KEY%PG_PREV_REG_SERVICE_KEY%
77
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_OLD_REG_KEY%PG_OLD_REG_KEY%
78
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_OLD_REG_SERVICE_KEY%PG_OLD_REG_SERVICE_KEY%
79
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_OLD_PREV_REG_KEY%PG_OLD_PREV_REG_KEY%
80
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_OLD_PREV_REG_SERVICE_KEY%PG_OLD_PREV_REG_SERVICE_KEY%
60
81
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_DEF_PORT%PG_DEF_PORT%
61
82
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_DEF_SUPERUSER%PG_DEF_SUPERUSER%
62
83
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_DEF_SERVICEACCOUNT%PG_DEF_SERVICEACCOUNT%
@@ -67,26 +88,50 @@ REM PostgreSQL Section
67
88
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_INS_SUFFIX%PG_INS_SUFFIX%
68
89
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_INS_SOURCE_DIR%PG_INS_SOURCE_DIR%
69
90
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define REDIST_YEAR%REDIST_YEAR%
70
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define WITH_1C%WITH_1C%
71
91
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define BUILD_DIR%BUILD_DIR%
72
92
>> %NSIS_RES_DIR% \postgres.def.nshECHO !define SDK%SDK%
73
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define HAVE_PGSQL_DOC %HAVE_PGSQL_DOC%
93
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !addplugindir Plugins
74
94
75
95
IF " %ARCH% " == " X64" (
76
- >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_64bit
96
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PG_64bit
97
+ )
98
+
99
+ IF " %PRODUCT_NAME% " == " PostgreSQL" (
100
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_ru" license.txt"
101
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_en" license.txt"
102
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME_SHORT" PostgreSQL"
103
+ GOTO :ENDLIC
77
104
)
105
+ IF " %PRODUCT_NAME% " == " PostgresPro" (
106
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_ru" license_std_ru.txt"
107
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_en" license_std_en.txt"
108
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME_SHORT" Postgres Pro"
109
+ GOTO :ENDLIC
110
+ )
111
+ IF " %PRODUCT_NAME% " == " PostgresProEnterprise" (
112
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_ru" license.txt"
113
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_en" license.txt"
114
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME_SHORT" Postgres Pro"
115
+ GOTO :ENDLIC
116
+ )
117
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_ru" license.txt"
118
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define myLicenseFile_en" license.txt"
119
+ >> %NSIS_RES_DIR% \postgres.def.nshECHO !define PRODUCT_NAME_SHORT" PostgreSQL"
120
+
121
+ :ENDLIC
78
122
123
+ CD /D%NSIS_RES_DIR% || GOTO :ERROR
124
+ rem Genarate file lists
125
+ %PYTHON64_PATH% /python%ROOT% /build/helpers/genlists.py%PG_INS_SOURCE_DIR% client.files devel.files plperl.files plpython2.files plpython3.files unneeded.files server.files
79
126
80
- CD %NSIS_RES_DIR% || GOTO : ERROR
127
+ rem generate installer itself
81
128
makensis postgresql.nsi|| GOTO :ERROR
82
129
83
130
GOTO :DONE
84
131
85
132
:ERROR
86
133
ECHO Failed with error #%errorlevel% .
87
- REM PAUSE
88
134
EXIT /b%errorlevel%
89
135
90
136
:DONE
91
137
ECHO Done.
92
- REM PAUSE