Statistics
| Revision:

root / tmp / org.txm.setups / shared / win / txm.nsi @ 981

History | View | Annotate | Download (15.1 kB)

1
!include MUI2.nsh
2

    
3
!include nsDialogs.nsh
4

    
5
!include LogicLib.nsh
6

    
7
;general
8

    
9
Name "TXM 0.8.0"
10

    
11
;!define Version ""
12
!define Version "_0.8.0a"
13

    
14

    
15
OutFile "TXM${Version}_Win64_installer.exe"
16

    
17
InstallDir "$PROGRAMFILES64\TXM${Version}"
18

    
19
RequestExecutionLevel admin
20

    
21
;compression
22

    
23
SetCompressor /FINAL /SOLID lzma
24

    
25
SetCompressorDictSize 64
26

    
27

    
28
;interface configuration
29

    
30
!define MUI_HEADERIMAGE
31

    
32
!define MUI_HEADERIMAGE_RIGHT
33

    
34
!define MUI_HEADERIMAGE_BITMAP "header.bmp"
35

    
36
!define MUI_HEADERIMAGE_UNBITMAP "header.bmp"
37

    
38
!define MUI_ICON "install.ico"
39

    
40
!define MUI_UNICON "uninstall.ico"
41

    
42
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp" ; optional
43

    
44

    
45
;Welcome conf
46

    
47
;!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp" ; optional
48

    
49
!define MUI_WELCOMEPAGE_TITLE $(WelcomeTitleMessage)
50

    
51
!define MUI_WELCOMEPAGE_TEXT $(WelcomeTextMessage)
52

    
53

    
54
;Finish conf
55

    
56
!define MUI_FINISHPAGE_TITLE $(FinishTitleMessage)
57

    
58
!define MUI_FINISHPAGE_TEXT $(FinishTextMessage)
59

    
60

    
61
;pages
62

    
63

    
64
!insertmacro MUI_PAGE_WELCOME
65

    
66
;!insertmacro MUI_PAGE_LICENSE "license_agreement.txt"  
67
!insertmacro MUI_PAGE_DIRECTORY
68

    
69
Page Custom MyCustomPage MyCustomLeave
70
Var Dialog
71
Var Checkbox1
72

    
73
Var CheckState1 ; Stored globally so we remember the choice if the user presses the back button and goes back to our page
74
Var Checkbox2
75

    
76
Var CheckState2 ; Stored globally so we remember the choice if the user presses the back button and goes back to our page
77
Function MyCustomPage
78
	!insertmacro MUI_HEADER_TEXT $(AdvancedOptionsTitle) $(AdvancedOptionsSubTitle)
79

    
80
	nsDialogs::Create 1018
81
	Pop $Dialog
82

    
83
	${If} $Dialog == error
84
		Abort
85
	${EndIf}
86

    
87
	${NSD_CreateCheckBox} 0 0 100% 30% $(LocalInstallMessage)
88
	Pop $Checkbox1
89
	
90
;	${NSD_Check} $Checkbox1
91

    
92
	${NSD_CreateCheckBox} 0 30% 100% 30% $(AskUserDirMessage)
93
	Pop $Checkbox2
94
	
95
;	${NSD_Check} $Checkbox2
96

    
97
	nsDialogs::Show
98
FunctionEnd
99

    
100
Function MyCustomLeave
101
  ${NSD_GetState} $Checkbox1 $CheckState1
102
  ${If} $CheckState1 <> 0
103
  
104
    file ROAMINGINSTALL
105
    
106
  ${EndIf}
107

    
108
  ${NSD_GetState} $Checkbox2 $CheckState2
109
  ${If} $CheckState2 <> 0
110
  
111
    file ASKUSERDIRECTORY
112
    
113
  ${EndIf}
114
FunctionEnd
115

    
116

    
117
!insertmacro MUI_PAGE_INSTFILES
118

    
119
!insertmacro MUI_UNPAGE_CONFIRM
120

    
121
!insertmacro MUI_UNPAGE_INSTFILES
122

    
123
!insertmacro MUI_PAGE_FINISH
124

    
125

    
126
;Languages
127

    
128
!insertmacro MUI_LANGUAGE "English"
129
!insertmacro MUI_LANGUAGE "French"
130
!insertmacro MUI_LANGUAGE "Russian"
131

    
132
;Lang Strings ENGLISH
133
LangString AdvancedOptionsTitle ${LANG_ENGLISH} "Advanced options"
134
LangString AdvancedOptionsSubTitle ${LANG_ENGLISH} "Check these options only for specific Windows configurations"
135
LangString LocalInstallMessage ${LANG_ENGLISH} "Do not use local user directory (check this option to use a roaming Windows account home directory)."
136

    
137
LangString AskUserDirMessage ${LANG_ENGLISH} "Do not use the user directory to store the TXM working directory (check this option to store corpora on a USB stick or on a remote directory. In this case, the working directory path will be asked at each TXM launch)."
138

    
139
LangString InfosTitleMessage ${LANG_ENGLISH} "For your information"
140

    
141
LangString InfosTextMessage ${LANG_ENGLISH} "If TXM is already installed on this machine, it will first be removed by this installer (TXM corpora will NOT be removed).$\nClose the window to cancel installation.$\n$\nMinimum requirements: Windows 7 64bit"
142

    
143
LangString WelcomeTitleMessage ${LANG_ENGLISH} "Welcome to TXM setup"
144

    
145
LangString WelcomeTextMessage ${LANG_ENGLISH} "TXM is provided to you free of charge. In return, in the spirit of open-source software development, you are invited to participate in its improvement. To do this, you don't have to be a software developer, you can:$\n * send us your publications or course materials related to your use of TXM;$\n * suggest corrections or improvements;$\n * translate in your language the interface or documentation;$\n * Setup a research project involving TXM adaptation and use;$\n * etc.$\n$\n See the 'Contribute' page on the TXM users' wiki: https://groupes.renater.fr/wiki/txm-users/public/contribuer $\n$\n Don't hesitate to contact us for more information at 'textometrie AT groupes.renater DOT fr'."
146

    
147
LangString FinishTitleMessage ${LANG_ENGLISH} "Installation done"
148

    
149
LangString FinishTextMessage ${LANG_ENGLISH} "The installation is done. A 'TXM' entry has been added to the 'Start' menu.$\nIf you want to automatically tag and lemmatize your corpora with the TreeTagger software during import, you need to follow additional installation instructions given in the 'Help > Install TreeTagger' menu."
150

    
151
LangString ErrorArch32Message ${LANG_ENGLISH} "This setup is for 32bit systems but your system seems to be 64bit. Please download and install the 64bit version of TXM for this machine. Continue to install anyway?"
152

    
153
LangString ErrorArch64Message ${LANG_ENGLISH} "This setup is for 64bit systems but your system seems to be 32bit. Please download and install the 32bit version of TXM for this machine. Continue to install anyway?"
154

    
155
LangString UninstallWindowsMessage ${LANG_ENGLISH} "TXM is already installed on this machine.$\n$\nClick `OK` to uninstall the previous version first (TXM corpora will NOT be removed).$\nOr click `Cancel` to abort this installation.$\nPlease ensure that no TXM is running during the installation process."
156

    
157

    
158
;Lang Strings FRENCH
159
LangString AdvancedOptionsTitle ${LANG_FRENCH} "Options avanc?es"
160
LangString AdvancedOptionsSubTitle ${LANG_FRENCH} "Ne cocher ces options que pour des configurations Windows particuli?res"
161
LangString LocalInstallMessage ${LANG_FRENCH} "Ne pas utiliser le r?pertoire utilisateur local (cocher cette option si vous souhaitez utiliser un r?pertoire de connexion de compte itin?rant)."
162

    
163
LangString AskUserDirMessage ${LANG_FRENCH} "Ne pas utiliser le r?pertoire utilisateur comme r?pertoire de travail de TXM (cocher cette option pour stocker les corpus sur une cl? USB ou sur un disque distant. Dans ce cas, le chemin du r?pertoire de travail sera demand? chaque lancement de TXM)."
164

    
165
LangString InfosTitleMessage ${LANG_FRENCH} "Pour votre information"
166

    
167
LangString InfosTextMessage ${LANG_FRENCH} "Si TXM est d?j? install? sur cette machine, cet installeur le supprimera pour commencer (les corpus existants ne seront pas supprim?s). Pour annuler l'installation, vous pouvez fermer cette fen?tre.$\n$\nConfiguration minimum: Windows Vista 64bit"
168

    
169
LangString WelcomeTitleMessage ${LANG_FRENCH} "Bienvenue dans l'installeur de TXM"
170

    
171
LangString WelcomeTextMessage ${LANG_FRENCH} "TXM vous est fourni gracieusement. En contre-partie, dans l'esprit du logiciel libre, vous ?tes invit? ? participer ? son am?lioration. Pour cela, vous n'?tes pas oblig? d'?tre d?veloppeur informatique, vous pouvez :$\n * transmettre vos publications ou supports de cours ;$\n * proposer des corrections ou am?liorations ;$\n *  traduire l'interface ou la documentation ;$\n * monter un projet pour adapter TXM ? vos besoins ;$\n * etc.$\n$\n Voir la rubrique 'Contribuer' du wiki des utilisateurs de TXM : https://groupes.renater.fr/wiki/txm-users/public/contribuer $\n$\n N'h?sitez pas ? nous contacter pour de plus amples informations : 'textometrie AT groupes.renater DOT fr'."
172

    
173
LangString FinishTitleMessage ${LANG_FRENCH} "Installation termin?e."
174

    
175
LangString FinishTextMessage ${LANG_FRENCH} "L'installation s'est correctement termin?e. Une entr?e 'TXM' a ?t? ajout?e au menu D?marrer.$\n$\nSi vous souhaitez ?tiqueter et lemmatiser automatiquement vos corpus avec le logiciel TreeTagger lors de l'import, vous devez suivre les instructions d'installation suppl?mentaires fournies dans le menu 'Aide > Installer TreeTagger'."
176

    
177
LangString ErrorArch32Message ${LANG_FRENCH} "La version de TXM que vous allez installer est pour un syst?me 32 bits, or votre syst?me semble ?tre 64 bits. Il faudrait t?l?charger et installer la version 64 bits de TXM. Voulez-vous malgr? tout continuer cette installation ?"
178

    
179
LangString ErrorArch64Message ${LANG_FRENCH} "La version de TXM que vous allez installer est pour un syst?me 64 bits, or votre syst?me semble ?tre 32 bits. Il faudrait t?l?charger et installer la version 32 bits de TXM. Voulez-vous malgr? tout continuer cette installation ?"
180

    
181
LangString UninstallWindowsMessage ${LANG_FRENCH} "TXM est d?j? install? sur cette machine. Veuillez cliquer sur 'OK' pour d?sinstaller cette version au pr?alable (les corpus seront conserv?s). Ou cliquez sur 'Annuler' pour interrompre l'installation. Merci de vous assurer que TXM n'est pas en cours d'ex?cution pendant l'installation."
182

    
183

    
184
;END OF LANG MESSAGES
185

    
186

    
187
Function .onInit
188

    
189
	;!insertmacro MUI_LANGDLL_DISPLAY
190
	
191

    
192
	setOutPath $INSTDIR
193
	
194

    
195
		ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TXM${Version}" "UninstallString"
196
		
197
		StrCmp $R0 "" done
198
		
199

    
200
		MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION $(UninstallWindowsMessage) IDOK uninst
201

    
202
		Abort
203

    
204

    
205

    
206
	;Run the uninstaller
207
	
208
	uninst:
209
	
210
		ClearErrors
211
		
212
		ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
213
		
214
		IfErrors no_remove_uninstaller done
215
		
216
		no_remove_uninstaller:
217
		
218
	done:
219
	
220
FunctionEnd
221

    
222
Section "Copy files" SecFiles
223
	
224
	#we install txm in INSTDIR
225
	
226
	SetOutPath $INSTDIR
227
	
228
	File /r ..\..\exportRCP\txm_win\*.*
229
	
230
	;File /r plugins
231
	;File /r features
232
	;File /r configuration
233
	;File /r jre
234
	;File /r p2
235
	;File /r doc
236
	;File /r schema
237
	;File /r scripts
238
	;File /r samples
239
	;File /r xsl
240
	;File /r css
241
	;File TXM.ico
242
	;File TXM.bat
243
	;File TXM.vbs
244
	;File StartDialog.jar
245
	;File OpenStartUpLogsDirectory.bat
246
	;File IEShims.dll
247
	;File libcharset-1.dll
248
	;File libglib-2.0-0.dll
249
	;File libgnurx-0.dll
250
	;File libiconv-2.dll
251
	;File libintl-8.dll
252
	;File libpcre-1.dll
253
	;File pcre3.dll
254
	
255
	# hide TXM.exe
256
	SetFileAttributes "$INSTDIR/TXM.exe" HIDDEN
257
	
258
	# the users right on install dir to enable updates
259
	
260
	AccessControl::GrantOnFile "$INSTDIR\TXM" "(S-1-5-32-545)" "FullAccess"
261
	
262
	#we set the shortcuts
263
	
264
	SetShellVarContext all
265
	
266
	CreateDirectory "$SMPROGRAMS\TXM${Version}"
267
	
268
	;CreateShortCut "$SMPROGRAMS\TXM${Version}\TXM.lnk" "$INSTDIR\TXM.bat" "$INSTDIR\TXM.ico"
269
	CreateShortCut "$SMPROGRAMS\TXM${Version}\TXM.lnk" "$INSTDIR\TXM.bat" "" "$INSTDIR\TXM.ico" 0
270
	
271
	CreateShortCut "$SMPROGRAMS\TXM${Version}\uninstall.lnk" "$INSTDIR\uninstall.exe"
272
	
273
	#CreateShortCut "$SMPROGRAMS\TXM${Version}\Manuel utilisateur FR.pdf.lnk" "$INSTDIR\doc\Manuel de TXM 0.7 FR.pdf"
274
	
275
	#CreateShortCut "$SMPROGRAMS\TXM${Version}\User Manual EN.pdf.lnk" "$INSTDIR\doc\TXM 0.7 Manual EN.pdf"
276
	
277

    
278
	; Store installation folder
279
	
280
	WriteRegStr HKCU "Software\TXM${Version}" "" $INSTDIR
281
	
282
	#register the TXM uninstall to windows programs
283
	
284
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TXM${Version}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
285
	
286
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TXM${Version}" "DisplayName" "TXM${Version}  - The Textometrie project builds the new generation of modular and open-source textometry platform and application. The scientific project web site is http://textometrie.ens-lsh.fr/?lang=en. "
287
	
288
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TXM${Version}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
289

    
290

    
291
	#we create the uninstaller
292
	
293
	WriteUninstaller "$INSTDIR\uninstall.exe"
294
	
295

    
296

    
297
SectionEnd
298

    
299
Function WriteToFile
300

    
301
	Exch $0 ;file to write to
302
	
303
	Exch
304
	
305
	Exch $1 ;text to write
306
	
307
	FileOpen $0 $0 a #open file
308
	
309
	FileSeek $0 0 END #go to end
310
	
311
	FileWrite $0 $1 #write to file
312
	
313
	FileClose $0
314
	
315
	Pop $1
316
	
317
	Pop $0
318
	
319
FunctionEnd
320

    
321

    
322
### TimeStamp
323

    
324
!ifndef TimeStamp
325

    
326
    !define TimeStamp "!insertmacro _TimeStamp"
327
    
328
    !macro _TimeStamp FormatedString
329
    
330
        !ifdef __UNINSTALL__
331
	
332
            Call un.__TimeStamp
333
	    
334
        !else
335
	
336
            Call __TimeStamp
337
	    
338
        !endif
339
	
340
        Pop ${FormatedString}
341
	
342
    !macroend
343
    
344
 
345
!macro __TimeStamp UN
346

    
347

    
348
Function ${UN}__TimeStamp
349

    
350
    ClearErrors
351
    
352
    ## Store the needed Registers on the stack
353
    
354
        Push $0 ; Stack $0
355
	
356
        Push $1 ; Stack $1 $0
357
	
358
        Push $2 ; Stack $2 $1 $0
359
	
360
        Push $3 ; Stack $3 $2 $1 $0
361
	
362
        Push $4 ; Stack $4 $3 $2 $1 $0
363
	
364
        Push $5 ; Stack $5 $4 $3 $2 $1 $0
365
	
366
        Push $6 ; Stack $6 $5 $4 $3 $2 $1 $0
367
	
368
        Push $7 ; Stack $7 $6 $5 $4 $3 $2 $1 $0
369
	
370
        ;Push $8 ; Stack $8 $7 $6 $5 $4 $3 $2 $1 $0
371
	
372
 
373
    ## Call System API to get the current system Time
374
    
375
        System::Alloc 16
376
	
377
        Pop $0
378
	
379
        System::Call 'kernel32::GetLocalTime(i) i(r0)'
380
	
381
        System::Call '*$0(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2)i (.r1, .r2, n, .r3, .r4, .r5, .r6, .r7)'
382
	
383
        System::Free $0
384
	
385
 
386
        IntFmt $2 "%02i" $2
387
	
388
        IntFmt $3 "%02i" $3
389
	
390
        IntFmt $4 "%02i" $4
391
	
392
        IntFmt $5 "%02i" $5
393
	
394
        IntFmt $6 "%02i" $6
395
	
396
 
397
    ## Generate Timestamp
398
    
399
        ;StrCpy $0 "YEAR=$1$\nMONTH=$2$\nDAY=$3$\nHOUR=$4$\nMINUITES=$5$\nSECONDS=$6$\nMS$7"
400
	
401
        StrCpy $0 "$1$2$3$4$5$6.$7"
402
	
403
 
404
    ## Restore the Registers and add Timestamp to the Stack
405
    
406
        ;Pop $8  ; Stack $7 $6 $5 $4 $3 $2 $1 $0
407
	
408
        Pop $7  ; Stack $6 $5 $4 $3 $2 $1 $0
409
	
410
        Pop $6  ; Stack $5 $4 $3 $2 $1 $0
411
	
412
        Pop $5  ; Stack $4 $3 $2 $1 $0
413
	
414
        Pop $4  ; Stack $3 $2 $1 $0
415
	
416
        Pop $3  ; Stack $2 $1 $0
417
	
418
        Pop $2  ; Stack $1 $0
419
	
420
        Pop $1  ; Stack $0
421
	
422
        Exch $0 ; Stack ${TimeStamp}
423
	
424
 
425
FunctionEnd
426

    
427
!macroend
428

    
429
!insertmacro __TimeStamp ""
430

    
431
!insertmacro __TimeStamp "un."
432

    
433
!endif
434

    
435
###########
436

    
437

    
438
Section "WriteInstallStamp" secStamp
439

    
440
	${TimeStamp} $0
441
	
442
	Push "$0"
443
	
444
	Push "$INSTDIR\STAMP" ;file to write to 
445
	
446
	Call WriteToFile
447
	
448
SectionEnd
449

    
450

    
451
Section "WriteInstallPrefs" secPrefs
452

    
453
	#we set the default preferences
454
	
455
	;!define pathToCqp "$INSTDIR\cwb\bin\win32\cqpserver.exe"
456
	
457
	;!define pathToCqpLib "$INSTDIR\cwb\bin\"
458
	
459
	;!define pathToInit "$INSTDIR\cwb\cqpserver.init"
460
	
461
	;!define pathToR "$INSTDIR\R\bin\x64\Rterm.exe"
462
	
463
	;!define pathToTT "$PROGRAMFILES\treetagger"
464
	
465
	;!define pathToTTMod "$PROGRAMFILES\treetagger\models"
466
	
467

    
468
	;FileOpen $4 "$INSTDIR\install.prefs" a
469
	
470
	;FileSeek $4 0 END
471
	
472
	;FileWrite $4 "$\r$\ncqi_server_path_to_cqplib=${pathToCqpLib}"
473
	
474
	;FileWrite $4 "$\r$\ncqi_server_path_to_executable=${pathToCqp}"
475
	
476
	;FileWrite $4 "$\r$\ncqi_server_path_to_init_file=${pathToInit}"
477
	
478
	;FileWrite $4 "$\r$\nr_path_to_executable=${pathToR}"
479
	
480
	;FileWrite $4 "$\r$\ntreetagger_install_path=${pathToTT}"
481
	
482
	;FileWrite $4 "$\r$\ntreetagger_models_path=${pathToTTMod}"
483
	
484
	;FileClose $4 ; and close the file
485
	
486
SectionEnd
487

    
488

    
489
;UninstallText "This will uninstall TXM"
490

    
491
;uninstaller section start
492
Section "Uninstall"
493

    
494
	SetShellVarContext all
495
	
496
	# Delete installation key
497
	
498
	DeleteRegKey /ifempty HKCU "Software\TXM${Version}"
499
	
500
	# Delete uninstaller key
501
	
502
	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TXM${Version}"
503
	
504
	# we remove the software
505
	
506
	RMDir /r $INSTDIR
507
	
508
	# second, remove the link from the start menu
509
	;Delete "$SMPROGRAMS\TXM${Version}\uninstall.lnk"
510
	
511
	RMDir /r "$SMPROGRAMS\TXM${Version}"
512
	
513
SectionEnd
514