Codebase list virt-viewer / debian/0.5.6-2 data / virt-viewer.nsis.in
debian/0.5.6-2

Tree @debian/0.5.6-2 (Download .tar.gz)

virt-viewer.nsis.in @debian/0.5.6-2raw · history · blame

#!Nsis Installer Command Script
# @configure_input@
# To build an installer from the script you would normally do:
#
#   makensis virt-viewer.nsis
#
# which will generate the output file 'virt-viewer-@VERSION@.exe' which is a Windows
# installer containing your program.

Name "VirtViewer @VERSION@"
OutFile "virt-viewer-@VERSION@.exe"
InstallDir "$LOCALAPPDATA\virt-viewer"
InstallDirRegKey HKCU "Software\virt-viewer" ""

RequestExecutionLevel user
SetCompressor bzip2
ShowInstDetails hide
ShowUninstDetails hide
XPStyle on

Page directory
Page instfiles

!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\virt-viewer"
!define REG_IEPOLICY  "Software\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{96190E9D-6FBB-64DB-9095-29F6FDE0B897}"

Function RegisterApplication
    ;Register uninstaller into Add/Remove panel (for local user only)
    WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "VirtViewer @VERSION@"
    WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\bin\virt-viewer.exe$\""
    WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "virt-manager.org"
    WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "@VERSION@"
    WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 32000 ;KB
    WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "http://www.virt-manager.org"
    WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "http://www.virt-manager.org"
    WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\""
    WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\""
    WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1
    WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1
    WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
    WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls VirtViewer."

    WriteRegStr HKCU "${REG_IEPOLICY}" "AppPath" "$INSTDIR\bin"
    WriteRegStr HKCU "${REG_IEPOLICY}" "AppName" "remote-viewer.exe"
    WriteRegDWord HKCU "${REG_IEPOLICY}" "Policy" 3
FunctionEnd

Function .onInit
retry:
 System::Call 'kernel32::CreateMutexA(i 0, i 0, t "VirtViewerMutex") i .r1 ?e'
 Pop $R0
 StrCmp $R0 0 end
   System::Call 'kernel32::CloseHandle(i r1) i.s'
   MessageBox MB_ICONEXCLAMATION|MB_RETRYCANCEL "VirtViewer is already running, quit any instance and retry." IDRETRY retry IDCANCEL cancel
cancel:
   Abort
end:
FunctionEnd

Section "VirtViewer"
  SectionIn RO
  WriteRegStr HKCU "Software\virt-viewer" "" $INSTDIR

  SetOutPath "$INSTDIR"
  File "deps.txt"

  SetOutPath "$INSTDIR\bin"
  File "@prefix@/bin/gst-discoverer-0.10.exe"
  File "@prefix@/bin/gst-feedback.exe"
  File "@prefix@/bin/gst-inspect-0.10.exe"
  File "@prefix@/bin/gst-inspect.exe"
  File "@prefix@/bin/gst-launch-0.10.exe"
  File "@prefix@/bin/gst-launch.exe"
  File "@prefix@/bin/gst-typefind-0.10.exe"
  File "@prefix@/bin/gst-typefind.exe"
  File "@prefix@/bin/gst-xmlinspect-0.10.exe"
  File "@prefix@/bin/gst-xmlinspect.exe"
  File "@prefix@/bin/gst-xmllaunch-0.10.exe"
  File "@prefix@/bin/gst-xmllaunch.exe"
  File "@prefix@/bin/libatk-1.0-0.dll"
  File "@prefix@/bin/libcairo-2.dll"
  File "@prefix@/bin/libcelt051-0.dll"
  File "@prefix@/bin/libcrypto-10.dll"
  File "@prefix@/bin/libexpat-1.dll"
  File "@prefix@/bin/libffi-6.dll"
  File "@prefix@/bin/libfontconfig-1.dll"
  File "@prefix@/bin/libfreetype-6.dll"
  File "@prefix@/bin/libgdk-win32-2.0-0.dll"
  File "@prefix@/bin/libgdk-win32-2.0-0.dll"
  File "@prefix@/bin/libgdk_pixbuf-2.0-0.dll"
  File "@prefix@/bin/libgdk_pixbuf-2.0-0.dll"
  File "@prefix@/bin/libgio-2.0-0.dll"
  File "@prefix@/bin/libglib-2.0-0.dll"
  File "@prefix@/bin/libgmodule-2.0-0.dll"
  File "@prefix@/bin/libgobject-2.0-0.dll"
  File "@prefix@/bin/libgstapp-0.10-0.dll"
  File "@prefix@/bin/libgstaudio-0.10-0.dll"
  File "@prefix@/bin/libgstbase-0.10-0.dll"
  File "@prefix@/bin/libgstcontroller-0.10-0.dll"
  File "@prefix@/bin/libgstfft-0.10-0.dll"
  File "@prefix@/bin/libgstinterfaces-0.10-0.dll"
  File "@prefix@/bin/libgstpbutils-0.10-0.dll"
  File "@prefix@/bin/libgstreamer-0.10-0.dll"
  File "@prefix@/bin/libgstvideo-0.10-0.dll"
  File "@prefix@/bin/libgthread-2.0-0.dll"
  File "@prefix@/bin/libgtk-win32-2.0-0.dll"
  File "@prefix@/bin/iconv.dll"
  File "@prefix@/bin/libintl-8.dll"
  File "@prefix@/bin/libjpeg-62.dll"
  File "@prefix@/bin/liborc-0.4-0.dll"
  File "@prefix@/bin/liborc-test-0.4-0.dll"
  File "@prefix@/bin/libpango-1.0-0.dll"
  File "@prefix@/bin/libpangocairo-1.0-0.dll"
  File "@prefix@/bin/libpangoft2-1.0-0.dll"
  File "@prefix@/bin/libpangowin32-1.0-0.dll"
  File "@prefix@/bin/libpixman-1-0.dll"
  File "@prefix@/bin/libpng15-15.dll"
  File "@prefix@/bin/libspice-client-glib-2.0-8.dll"
  File "@prefix@/bin/libspice-client-gtk-2.0-4.dll"
  File "@prefix@/bin/libspice-controller-0.dll"
  File "@prefix@/bin/libssl-10.dll"
  File "@prefix@/bin/libtasn1-3.dll"
  File "@prefix@/bin/libusb-1.0.dll"
  File "@prefix@/bin/libusbredirhost-1.dll"
  File "@prefix@/bin/libusbredirparser-1.dll"
  File "@prefix@/bin/libxml2-2.dll"
  File "@prefix@/bin/libp11-kit-0.dll"
  File "@prefix@/bin/libssh2-1.dll"
  File "@prefix@/bin/libcurl-4.dll"
  File "@prefix@/bin/libportablexdr-0.dll"
  File "@prefix@/bin/libidn-11.dll"
  File "@prefix@/bin/libssp-0.dll"
  File "@prefix@/bin/libvirt-0.dll"
  File "@prefix@/bin/libvirt-qemu-0.dll"
  File "@prefix@/bin/virsh.exe"
  File "@prefix@/bin/virt-pki-validate"
  File "@prefix@/bin/virt-xml-validate"

  #gtkvnc
  File "@prefix@/bin/libgnutls-26.dll"
  File "@prefix@/bin/libgpg-error-0.dll"
  File "@prefix@/bin/libgcrypt-11.dll"
  File "@prefix@/bin/libgvnc-1.0-0.dll"
  File "@prefix@/bin/libgtk-vnc-1.0-0.dll"

  File "@prefix@/bin/pango-querymodules.exe"
  File /oname=remote-viewer.com "${DESTDIR}@prefix@/bin/windows-cmdline-wrapper.exe"
  File "${DESTDIR}@prefix@/bin/remote-viewer.exe"
  File "${DESTDIR}@prefix@/bin/virt-viewer.exe"
  File "@prefix@/bin/libreadline6.dll"
  File "@prefix@/bin/zlib1.dll"

  SetOutPath "$INSTDIR\etc"
  File /r "@prefix@/etc/fonts"
  File /r "@prefix@/etc/gtk-2.0"
  File /r "@prefix@/etc/libvirt"
  CreateDirectory "$INSTDIR\etc\pango"

  CreateDirectory "$INSTDIR\etc\gtk-2.0"

  SetOutPath "$INSTDIR\lib"
  File /r "@prefix@/lib/gdk-pixbuf-2.0"
  File /r "@prefix@/lib/gtk-2.0"
  File /r "@prefix@/lib/pango"

  SetOutPath "$INSTDIR\lib\gstreamer-0.10"
  File "@prefix@/lib/gstreamer-0.10/libgstapp.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstaudioconvert.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstaudiorate.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstaudioresample.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstaudiotestsrc.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstautodetect.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstcoreelements.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstdirectsoundsink.dll"
  File "@prefix@/lib/gstreamer-0.10/libgstdirectsoundsrc.dll"

  SetOutPath "$INSTDIR\share"
  File /r "@prefix@/share/libvirt"

  # fixme for all languages
  SetOutPath "$INSTDIR\share\locale\fr"
  File "@prefix@/share/locale/fr/LC_MESSAGES/libvirt.*"
  File "${DESTDIR}@prefix@/share/locale/fr/LC_MESSAGES/virt-viewer.*"

  SetOutPath "$INSTDIR\share\virt-viewer\ui"
  File "${DESTDIR}@prefix@/share/virt-viewer/ui/*.xml"

  SetOutPath "$INSTDIR\share\themes\MS-Windows\gtk-2.0"
  File "@prefix@/share/themes/MS-Windows/gtk-2.0/gtkrc"

  SetOutPath "$INSTDIR\etc\gtk-2.0"
  FileOpen $0 gtkrc w
  FileWrite $0 "gtk-theme-name = $\"MS-Windows$\" $\n"
  FileWrite $0 "gtk-icon-theme-name = $\"hicolor$\" $\n"
  FileClose $0

  SetOutPath "$INSTDIR\share\icons\hicolor"
  File "/usr/share/icons/hicolor/index.theme"

  SetOutPath "$INSTDIR\share\icons\hicolor\16x16\apps"
  File "${DESTDIR}@prefix@/share/icons/hicolor/16x16/apps/virt-viewer.png"
  File "/usr/share/icons/gnome/16x16/apps/preferences-desktop-keyboard-shortcuts.png"
  SetOutPath "$INSTDIR\share\icons\hicolor\32x32\apps"
  File "${DESTDIR}@prefix@/share/icons/hicolor/32x32/apps/virt-viewer.png"
  SetOutPath "$INSTDIR\share\icons\hicolor\48x48\apps"
  File "${DESTDIR}@prefix@/share/icons/hicolor/48x48/apps/virt-viewer.png"

  ReadEnvStr $0 COMSPEC
  SetOutPath "$INSTDIR"
  nsExec::ExecToLog '$0 /C bin\pango-querymodules.exe > etc\pango\pango.modules'

  # make virt-viewer the default spice-x client
  WriteRegStr HKCU "Software\spice-space.org\spicex" "client" "$INSTDIR\bin\remote-viewer.exe --spice-controller"

SectionEnd

Section "Start Menu Shortcuts"
  CreateDirectory "$SMPROGRAMS\VirtViewer"
  CreateShortCut "$SMPROGRAMS\VirtViewer\Remote Viewer.lnk" "$INSTDIR\bin\remote-viewer.exe" "" "$INSTDIR\bin\remote-viewer.exe" 0
  CreateShortCut "$SMPROGRAMS\VirtViewer\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SectionEnd

Section "Uninstall"
  Delete /rebootok "$SMPROGRAMS\VirtViewer\Uninstall.lnk"
  Delete /rebootok "$SMPROGRAMS\VirtViewer\Remote Viewer.lnk"
  RMDir "$SMPROGRAMS\VirtViewer"

  DeleteRegKey HKCU "Software\spice-space.org\spicex\client"
  DeleteRegKey /ifempty HKCU "Software\spice-space.org\spicex"
  DeleteRegKey /ifempty HKCU "Software\spice-space.org"
  DeleteRegKey HKCU "Software\virt-viewer"
  DeleteRegKey HKCU "${REG_UNINSTALL}"
  DeleteRegKey HKCU "${REG_IEPOLICY}"


  RMDir /r "$INSTDIR\share"

  RMDir /r "$INSTDIR\lib\pango"
  RMDir /r "$INSTDIR\lib\gtk-2.0"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstdirectsoundsrc.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstdirectsoundsink.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstcoreelements.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstautodetect.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudiotestsrc.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudioresample.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudiorate.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstaudioconvert.dll"
  Delete /rebootok "$INSTDIR\lib\gstreamer-0.10\libgstapp.dll"
  RMDir "$INSTDIR\lib\gstreamer-0.10"
  RMDir /r "$INSTDIR\lib\gdk-pixbuf-2.0"

  RMDir /r "$INSTDIR\etc\pango"
  RMDir /r "$INSTDIR\etc\gtk-2.0"
  RMDir /r "$INSTDIR\etc\fonts"

  Delete /rebootok "$INSTDIR\bin\remote-viewer.com"
  Delete /rebootok "$INSTDIR\bin\remote-viewer.exe"
  Delete /rebootok "$INSTDIR\bin\virt-viewer.exe"
  Delete /rebootok "$INSTDIR\bin\virsh.exe"
  Delete /rebootok "$INSTDIR\bin\pango-querymodules.exe"
  Delete /rebootok "$INSTDIR\bin\virt-pki-validate"
  Delete /rebootok "$INSTDIR\bin\virt-xml-validate"
  Delete /rebootok "$INSTDIR\bin\libpangoft2-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgdk_pixbuf-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgdk-win32-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\gst-xmllaunch.exe"
  Delete /rebootok "$INSTDIR\bin\gst-xmllaunch-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\gst-xmlinspect.exe"
  Delete /rebootok "$INSTDIR\bin\gst-xmlinspect-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\gst-typefind.exe"
  Delete /rebootok "$INSTDIR\bin\gst-typefind-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\gst-launch.exe"
  Delete /rebootok "$INSTDIR\bin\gst-launch-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\gst-inspect.exe"
  Delete /rebootok "$INSTDIR\bin\gst-inspect-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\gst-feedback.exe"
  Delete /rebootok "$INSTDIR\bin\gst-discoverer-0.10.exe"
  Delete /rebootok "$INSTDIR\bin\zlib1.dll"
  Delete /rebootok "$INSTDIR\bin\libreadline6.dll"
  Delete /rebootok "$INSTDIR\bin\libffi-6.dll"
  Delete /rebootok "$INSTDIR\bin\libp11-kit-0.dll"
  Delete /rebootok "$INSTDIR\bin\libxml2-2.dll"
  Delete /rebootok "$INSTDIR\bin\libtasn1-3.dll"
  Delete /rebootok "$INSTDIR\bin\libssl-10.dll"
  Delete /rebootok "$INSTDIR\bin\libspice-client-gtk-2.0-4.dll"
  Delete /rebootok "$INSTDIR\bin\libspice-client-glib-2.0-8.dll"
  Delete /rebootok "$INSTDIR\bin\libspice-controller-0.dll"
  Delete /rebootok "$INSTDIR\bin\libpng15-15.dll"
  Delete /rebootok "$INSTDIR\bin\libpixman-1-0.dll"
  Delete /rebootok "$INSTDIR\bin\libpangowin32-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libpangocairo-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libpango-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\liborc-test-0.4-0.dll"
  Delete /rebootok "$INSTDIR\bin\liborc-0.4-0.dll"
  Delete /rebootok "$INSTDIR\bin\libjpeg-62.dll"
  Delete /rebootok "$INSTDIR\bin\libintl-8.dll"
  Delete /rebootok "$INSTDIR\bin\libusb-1.0.dll"
  Delete /rebootok "$INSTDIR\bin\libusbredirhost-1.dll"
  Delete /rebootok "$INSTDIR\bin\libusbredirparser-1.dll"
  Delete /rebootok "$INSTDIR\bin\libvirt-0.dll"
  Delete /rebootok "$INSTDIR\bin\libcurl-4.dll"
  Delete /rebootok "$INSTDIR\bin\libidn-11.dll"
  Delete /rebootok "$INSTDIR\bin\libssh2-1.dll"
  Delete /rebootok "$INSTDIR\bin\libgvnc-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgtk-vnc-1.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgpg-error-0.dll"
  Delete /rebootok "$INSTDIR\bin\libportablexdr-0.dll"
  Delete /rebootok "$INSTDIR\bin\libvirt-qemu-0.dll"
  Delete /rebootok "$INSTDIR\bin\libssp-0.dll"
  Delete /rebootok "$INSTDIR\bin\iconv.dll"
  Delete /rebootok "$INSTDIR\bin\libgtk-win32-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgthread-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstvideo-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstreamer-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstpbutils-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstinterfaces-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstfft-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstcontroller-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstbase-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstaudio-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgstapp-0.10-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgobject-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgnutls-26.dll"
  Delete /rebootok "$INSTDIR\bin\libgcrypt-11.dll"
  Delete /rebootok "$INSTDIR\bin\libgmodule-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libglib-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgio-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgdk_pixbuf-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libgdk-win32-2.0-0.dll"
  Delete /rebootok "$INSTDIR\bin\libfreetype-6.dll"
  Delete /rebootok "$INSTDIR\bin\libfontconfig-1.dll"
  Delete /rebootok "$INSTDIR\bin\libexpat-1.dll"
  Delete /rebootok "$INSTDIR\bin\libcrypto-10.dll"
  Delete /rebootok "$INSTDIR\bin\libcelt051-0.dll"
  Delete /rebootok "$INSTDIR\bin\libcairo-2.dll"
  Delete /rebootok "$INSTDIR\bin\libatk-1.0-0.dll"
  RMDir "$INSTDIR\bin"
  RMDir "$INSTDIR\lib"

  Delete /rebootok "$INSTDIR\deps.txt"
  RMDir "$INSTDIR"
SectionEnd

Section -post
  WriteUninstaller "$INSTDIR\Uninstall.exe"
  Call RegisterApplication
SectionEnd