summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-11-20 18:55:44 +0100
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-11-20 18:55:44 +0100
commitebdf6d5d2c0a82f28acb9a94b1d59ad86b08302f (patch)
treeec96a86fa849b8a0910bb5582418046c67611a01 /packaging
parent86b8dd3849d63fd7a6d08794f9be8fc5de72040b (diff)
downloadrabbitmq-server-git-ebdf6d5d2c0a82f28acb9a94b1d59ad86b08302f.tar.gz
packaging/windows-exe: Use ExecDos plugin to run batch files
Thanks to this plugin, batch files output is logged to the detailed view (ie. behind the "Show details" button). This is way more helpful than the cmd.exe windows which comes and go quickly. During unattended install and uninstall (/S), this is really silent now: no cmd.exe windows popping. ExecDos.dll comes from the x86-ansi directory in the ExecDos distribution.
Diffstat (limited to 'packaging')
-rw-r--r--packaging/windows-exe/plugins/ExecDos.dllbin0 -> 6656 bytes
-rw-r--r--packaging/windows-exe/rabbitmq_nsi.in16
2 files changed, 10 insertions, 6 deletions
diff --git a/packaging/windows-exe/plugins/ExecDos.dll b/packaging/windows-exe/plugins/ExecDos.dll
new file mode 100644
index 0000000000..0d8a871a9d
--- /dev/null
+++ b/packaging/windows-exe/plugins/ExecDos.dll
Binary files differ
diff --git a/packaging/windows-exe/rabbitmq_nsi.in b/packaging/windows-exe/rabbitmq_nsi.in
index 3d7ee06395..3c868b91e7 100644
--- a/packaging/windows-exe/rabbitmq_nsi.in
+++ b/packaging/windows-exe/rabbitmq_nsi.in
@@ -6,6 +6,8 @@
!include WordFunc.nsh
!include x64.nsh
+!addplugindir plugins
+
!define env_hklm 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
!define uninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\RabbitMQ"
@@ -158,9 +160,10 @@ SectionEnd
;--------------------------------
Section "RabbitMQ Service" RabbitService
- ExpandEnvStrings $0 %COMSPEC%
- ExecWait '"$0" /C "$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" install'
- ExecWait '"$0" /C "$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" start'
+ DetailPrint "Installing RabbitMQ service..."
+ ExecDos::exec /DETAILED '"$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" install' ""
+ DetailPrint "Starting RabbitMQ service..."
+ ExecDos::exec /DETAILED '"$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" start' ""
ReadEnvStr $1 "HOMEDRIVE"
ReadEnvStr $2 "HOMEPATH"
CopyFiles "$WINDIR\.erlang.cookie" "$1$2\.erlang.cookie"
@@ -220,9 +223,10 @@ Section "Uninstall"
DeleteRegKey HKLM "SOFTWARE\VMware, Inc.\RabbitMQ Server"
; TODO these will fail if the service is not installed - do we care?
- ExpandEnvStrings $0 %COMSPEC%
- ExecWait '"$0" /C "$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" stop'
- ExecWait '"$0" /C "$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" remove'
+ DetailPrint "Stopping RabbitMQ service..."
+ ExecDos::exec /DETAILED '"$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" stop' ""
+ DetailPrint "Removing RabbitMQ service..."
+ ExecDos::exec /DETAILED '"$INSTDIR\rabbitmq_server-%%VERSION%%\sbin\rabbitmq-service.bat" remove' ""
; Remove files and uninstaller
RMDir /r "$INSTDIR\rabbitmq_server-%%VERSION%%"