From 16a4af2d6755d2ca5af2bb8bd24442b4dd40e933 Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Wed, 4 Apr 2012 00:47:21 +0000 Subject: [PATCH] Add and update a bunch of Programs and Features-related registry keys. Sort the keys by name. Calculate the installation size after all of the files have been installed and add that in the "EstimatedSize" key. Fix the display icon. Add a hint about our target platform. Add version information. We now look like a grown-up application in the Programs and Features control panel. svn path=/trunk/; revision=41914 --- packaging/nsis/Makefile.nmake | 4 ++++ packaging/nsis/wireshark.nsi | 44 +++++++++++++++++++++++++++-------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/packaging/nsis/Makefile.nmake b/packaging/nsis/Makefile.nmake index d005b1d9c9..1af5bf38fe 100644 --- a/packaging/nsis/Makefile.nmake +++ b/packaging/nsis/Makefile.nmake @@ -137,6 +137,10 @@ wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe : user-guide.chm $(NSI) $( /DGTK_WIMP_RCSRC_DIR=$(GTK_WIMP_RCSRC_DIR) \ /DINTL_DLL=$(INTL_DLL) \ /DVERSION=$(VERSION) \ + /DVERSION_MAJOR=$(VERSION_MAJOR) \ + /DVERSION_MINOR=$(VERSION_MINOR) \ + /DVERSION_MICRO=$(VERSION_MICRO) \ + /DVERSION_BUILD=$(VERSION_BUILD) \ /DPRODUCT_VERSION=$(PRODUCT_VERSION) \ /DWTAP_VERSION=$(WTAP_VERSION) \ !IF "$(C_ARES_DIR)" != "" diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index a3c8a67ce1..1e7ca8e210 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -32,7 +32,8 @@ InstType "un.All (remove all)" !define BITS 64 !endif -Name "${PROGRAM_NAME} ${VERSION} (${BITS}-bit)" +!define DISPLAY_NAME "${PROGRAM_NAME} ${VERSION} (${BITS}-bit)" +Name "${DISPLAY_NAME}" ; VIAddVersionKey "ProductName" "${PROGRAM_NAME}" @@ -690,15 +691,29 @@ File "..\..\wireshark-gtk2\help\display_filters.txt" File "..\..\wireshark-gtk2\help\faq.txt" ; Write the uninstall keys for Windows -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "DisplayVersion" "${VERSION}" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "DisplayName" "Wireshark ${VERSION}" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "UninstallString" '"$INSTDIR\uninstall.exe"' -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "Publisher" "The Wireshark developer community, http://www.wireshark.org" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "HelpLink" "http://ask.wireshark.org/" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "URLInfoAbout" "http://www.wireshark.org" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "URLUpdateInfo" "http://www.wireshark.org/download/${WIRESHARK_TARGET_PLATFORM}/" -WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "NoModify" 1 -WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "NoRepair" 1 +; http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programs +; http://msdn.microsoft.com/en-us/library/ms954376.aspx +; http://msdn.microsoft.com/en-us/library/windows/desktop/aa372105.aspx +!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" + +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Comments" "${DISPLAY_NAME}" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayIcon" "$INSTDIR\wireshark.exe,0" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayName" "${DISPLAY_NAME}" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayVersion" "${VERSION}" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "HelpLink" "http://ask.wireshark.org/" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "InstallLocation" "$INSTDIR" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Publisher" "The Wireshark developer community, http://www.wireshark.org" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLInfoAbout" "http://www.wireshark.org" +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLUpdateInfo" "http://www.wireshark.org/download.html" + +WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoModify" 1 +WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoRepair" 1 +WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMajor" ${VERSION_MAJOR} +WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMinor" ${VERSION_MINOR} + +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "UninstallString" '"$INSTDIR\uninstall.exe"' +WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "QuietUninstallString" '"$INSTDIR\uninstall.exe" /S' + WriteUninstaller "uninstall.exe" ; Write an entry for ShellExecute @@ -995,6 +1010,15 @@ File "user-guide.chm" SectionEnd !endif +Section "-Finally" + +; Compute and write the installation directory size +${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 +IntFmt $0 "0x%08X" $0 +WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "EstimatedSize" "$0" + +SectionEnd + Section "Uninstall" un.SecUinstall ;-------------------------------------------