Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 1.0.1, 1.0.2, and 1.0.3

stable wix: create a dll for terminate

This avoids the console window popping up during install, which
is now very ugly due to the new sleep time in terminate.

Changeset bd15ed6a95cf

Parent ca30f8795605

by Adrian Buehlmann

Changes to 4 files · Browse files at bd15ed6a95cf Showing diff from parent ca30f8795605 Diff from another changeset...

 
429
430
431
432
 
433
434
435
436
437
 
438
439
 
440
441
442
 
429
430
431
 
432
433
434
435
436
 
437
438
 
439
440
441
442
@@ -429,14 +429,14 @@
  </Feature>   </Feature>   - <!-- terminate.exe terminates any running TortoiseHgOverlayServer.exe that supports the + <!-- terminate.dll terminates any running TortoiseHgOverlayServer.exe that supports the   terminate command over the command pipe. Windows installer sometimes   fails to shutdown TortoiseHgOverlayServer.exe, which occasionally leads to a crash   of TortoiseHgOverlayServer.exe during install, which in turn pops up an ugly crash   report dialog pointing to faulting module PYTHON26.DLL. --> - <Binary Id='TerminateEXE' SourceFile='win32\terminate-x86.exe' /> + <Binary Id='TerminateDLL' SourceFile='win32\terminate-x86.dll' />   <CustomAction Id='CallTerminate' - BinaryKey='TerminateEXE' ExeCommand='' Return='ignore' + BinaryKey='TerminateDLL' DllEntry='TerminateIconServer'   />     <CustomAction Id='StartOverlayServerEXE'
 
38
39
40
41
 
42
43
44
45
 
46
47
48
 
38
39
40
 
41
42
43
44
 
45
46
47
48
@@ -38,11 +38,11 @@
 BASE_LDFLAGS = /nologo /INCREMENTAL:NO /MANIFEST $(LIBS)  LDFLAGS_THGSHELL = $(BASE_LDFLAGS) /DLL /DEF:$(DEFFILE)  LDFLAGS_DIRSTATE = $(BASE_LDFLAGS) /SUBSYSTEM:CONSOLE -LDFLAGS_TERMINATE = $(BASE_LDFLAGS) /SUBSYSTEM:CONSOLE +LDFLAGS_TERMINATE = $(BASE_LDFLAGS) /DLL /DEF:terminate.def      THGSHELL_TARGET = THgShell$(THG_PLATFORM).dll -TERMINATE_TARGET = terminate-$(THG_PLATFORM).exe +TERMINATE_TARGET = terminate-$(THG_PLATFORM).dll    all: $(THGSHELL_TARGET) $(TERMINATE_TARGET)  
 
4
5
6
7
 
8
9
10
 
12
13
14
15
 
16
 
4
5
6
 
7
8
9
10
 
12
13
14
 
15
16
@@ -4,7 +4,7 @@
   #include "Thgstatus.h"   -int main(int argc, char *argv[]) +extern "C" UINT __stdcall TerminateIconServer()  {   if (Thgstatus::terminate() == 0)   { @@ -12,5 +12,5 @@
  // -> wait a bit for icon server to shut down   ::Sleep(5000 /* ms */);   } - return 0; + return ERROR_SUCCESS;  }
Change 1 of 1 Show Entire File win32/​shellext/​terminate.def Stacked
 
 
 
 
 
 
 
1
2
3
4
5
@@ -0,0 +1,5 @@
+LIBRARY TERMINATE + +EXPORTS + TerminateIconServer +