12
12
; define DPARSER to include DParser COM server installation (expected at ../bin/Release/DParserCOMServer)
13
13
!define DPARSER
14
14
15
+ ; define VDEXTENSIONS to include C# extensions (expected at ../bin/Release/vdextensions)
16
+ !define VDEXTENSIONS
17
+
15
18
; --------------------------------
16
19
; Include Modern UI
17
20
87
90
!define MAGO_ENGINE_KEY AD7Metrics\Engine\${MAGO_CLSID}
88
91
!define MAGO_EXCEPTION_KEY AD7Metrics\Exception\${MAGO_CLSID}
89
92
!define MAGO_ABOUT " A debug engine dedicated to debugging applications written in the D programming language. See the project website at http://www.dsource.org/projects/mago_debugger for more information. Copyright (c) 2010-2013 Aldo J. Nunez"
93
+ !define MAGO_SOURCE ..\..\..\mago
90
94
91
- !searchparse /file ../../../mago /include/magoversion.h " #define MAGO_VERSION_MAJOR " MAGO_VERSION_MAJOR
92
- !searchparse /file ../../../mago /include/magoversion.h " #define MAGO_VERSION_MINOR " MAGO_VERSION_MINOR
93
- !searchparse /file ../../../mago /include/magoversion.h " #define MAGO_VERSION_BUILD " MAGO_VERSION_BUILD
95
+ !searchparse /file ${MAGO_SOURCE} /include/magoversion.h " #define MAGO_VERSION_MAJOR " MAGO_VERSION_MAJOR
96
+ !searchparse /file ${MAGO_SOURCE} /include/magoversion.h " #define MAGO_VERSION_MINOR " MAGO_VERSION_MINOR
97
+ !searchparse /file ${MAGO_SOURCE} /include/magoversion.h " #define MAGO_VERSION_BUILD " MAGO_VERSION_BUILD
94
98
95
99
!searchreplace MAGO_VERSION_MAJOR ${MAGO_VERSION_MAJOR} " " " "
96
100
!searchreplace MAGO_VERSION_MINOR ${MAGO_VERSION_MINOR} " " " "
@@ -184,7 +188,11 @@ Section "Visual Studio package" SecPackage
184
188
${File} ..\ README.md
185
189
${File} ..\ LICENSE_1_0.txt
186
190
${File} ..\ CHANGES
187
-
191
+
192
+ !ifdef VDEXTENSIONS
193
+ ${File} ..\bin\${CONFIG} \vdextensions\ vdextensions.dll
194
+ !endif
195
+
188
196
${SetOutPath} " $INSTDIR\Templates"
189
197
${SetOutPath} " $INSTDIR\Templates\Items"
190
198
${File} ..\visuald\Templates\Items\ empty.d
@@ -284,10 +292,16 @@ ${MementoSection} "Register with VS 2010" SecVS2010
284
292
285
293
ReadRegStr $1 ${VS_REGISTRY_ROOT} " ${VS2010_REGISTRY_KEY}" InstallDir
286
294
ExecWait ' rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2010_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'
295
+
287
296
${SetOutPath} " $1${EXTENSION_DIR}"
288
297
${File} ..\nsis\Extensions\ extension.vsixmanifest
289
298
${File} ..\nsis\Extensions\ vdlogo.ico
290
299
300
+ !ifdef VDEXTENSIONS
301
+ GetFullPathName /SHORT $0 $INSTDIR
302
+ !insertmacro ReplaceInFile " $1${EXTENSION_DIR}\extension.vsixmanifest" " VDINSTALLPATH" " $0" NoBackup
303
+ !endif
304
+
291
305
${MementoSectionEnd}
292
306
293
307
; --------------------------------
@@ -299,10 +313,16 @@ ${MementoSection} "Register with VS 2012" SecVS2012
299
313
300
314
ReadRegStr $1 ${VS_REGISTRY_ROOT} " ${VS2012_REGISTRY_KEY}" InstallDir
301
315
ExecWait ' rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2012_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'
316
+
302
317
${SetOutPath} " $1${EXTENSION_DIR}"
303
318
${File} ..\nsis\Extensions\ extension.vsixmanifest
304
319
${File} ..\nsis\Extensions\ vdlogo.ico
305
320
321
+ !ifdef VDEXTENSIONS
322
+ GetFullPathName /SHORT $0 $INSTDIR
323
+ !insertmacro ReplaceInFile " $1${EXTENSION_DIR}\extension.vsixmanifest" " VDINSTALLPATH" " $0" NoBackup
324
+ !endif
325
+
306
326
${MementoSectionEnd}
307
327
308
328
; --------------------------------
@@ -314,10 +334,16 @@ ${MementoSection} "Register with VS 2013" SecVS2013
314
334
315
335
ReadRegStr $1 ${VS_REGISTRY_ROOT} " ${VS2013_REGISTRY_KEY}" InstallDir
316
336
ExecWait ' rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2013_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'
337
+
317
338
${SetOutPath} " $1${EXTENSION_DIR}"
318
339
${File} ..\nsis\Extensions\ extension.vsixmanifest
319
340
${File} ..\nsis\Extensions\ vdlogo.ico
320
-
341
+
342
+ !ifdef VDEXTENSIONS
343
+ GetFullPathName /SHORT $0 $INSTDIR
344
+ !insertmacro ReplaceInFile " $1${EXTENSION_DIR}\extension.vsixmanifest" " VDINSTALLPATH" " $0" NoBackup
345
+ !endif
346
+
321
347
${MementoSectionEnd}
322
348
323
349
!ifdef EXPRESS
@@ -392,12 +418,13 @@ ${MementoSectionEnd}
392
418
${MementoSection} " mago" SecMago
393
419
394
420
${SetOutPath} " $INSTDIR\Mago"
395
- ${File} ..\..\..\mago\Release\ MagoNatDE.dll
396
- ${File} ..\..\..\mago\Release\ MagoNatEE.dll
397
- ${File} ..\..\..\mago\Release\ udis86.dll
398
- ${File} ..\..\..\mago\Release\ CVSTI.dll
399
- ${File} ..\..\..\mago\ LICENSE .TXT
400
- ${File} ..\..\..\mago\ NOTICE.TXT
421
+ ${File} ${MAGO_SOURCE} \bin\Win32\Release\ MagoNatDE.dll
422
+ ; ; ${File} ${MAGO_SOURCE}\bin\Win32\Release\ MagoNatEE.dll
423
+ ${File} ${MAGO_SOURCE} \bin\Win32\Release\ udis86.dll
424
+ ; ; ${File} ${MAGO_SOURCE}\bin\Win32\Release\ CVSTI.dll
425
+ ${File} ${MAGO_SOURCE} \bin\x64\Release\ MagoRemote.exe
426
+ ${File} ${MAGO_SOURCE} \ LICENSE .TXT
427
+ ${File} ${MAGO_SOURCE} \ NOTICE.TXT
401
428
402
429
ExecWait ' regsvr32 /s "$INSTDIR\Mago\MagoNatDE.dll"'
403
430
@@ -427,6 +454,8 @@ ${MementoSection} "mago" SecMago
427
454
Push ${VS2013_REGISTRY_KEY}
428
455
Call RegisterMago
429
456
457
+ WriteRegStr HKLM " SOFTWARE\Wow6432Node\MagoDebugger" " Remote_x64" " $INSTDIR\Mago\MagoRemote.exe"
458
+
430
459
${MementoSectionEnd}
431
460
!endif
432
461
@@ -710,9 +739,12 @@ Function DMDInstallPage
710
739
IfErrors DMDInstallDirEmpty
711
740
StrCmp " $DMDInstallDir" " " DMDInstallDirEmpty HasDMDInstallDir
712
741
DMDInstallDirEmpty:
742
+ ReadRegStr $DInstallDir HKLM " SOFTWARE\DMD" " InstallationFolder"
743
+ IfErrors 0 HasDInstallationFolder
713
744
ReadRegStr $DInstallDir HKLM " SOFTWARE\D" " Install_Dir"
714
745
IfErrors HasDmdInstallDir
715
- StrCpy $DmdInstallDir $DInstallDir \dmd2
746
+ HasDInstallationFolder:
747
+ StrCpy $DmdInstallDir $DInstallDir \dmd2
716
748
HasDMDInstallDir:
717
749
718
750
WriteINIStr " $PLUGINSDIR\dmdinstall.ini" " Field 1" " State" $DMDInstallDir
@@ -809,6 +841,7 @@ enabled:
809
841
WriteRegDWORD ${VS_REGISTRY_ROOT} " $1\${MAGO_ENGINE_KEY}" " ENC" 0
810
842
WriteRegDWORD ${VS_REGISTRY_ROOT} " $1\${MAGO_ENGINE_KEY}" " Disassembly" 1
811
843
WriteRegDWORD ${VS_REGISTRY_ROOT} " $1\${MAGO_ENGINE_KEY}" " Exceptions" 1
844
+ WriteRegDWORD ${VS_REGISTRY_ROOT} " $1\${MAGO_ENGINE_KEY}" " AlwaysLoadLocal" 1
812
845
813
846
${RegisterException} $1 " D Exceptions"
814
847
${RegisterException} $1 " D Exceptions\core.exception.AssertError"
0 commit comments