[virt-tools-list] [virt-viewer][PATCH] msi/nsis: Add WorkingDirectory to the StartMenu shortcut

Fabiano Fidêncio fidencio at redhat.com
Mon Jun 15 00:07:49 UTC 2015


Seems that remote-viewer itself can find its libraries, but when running
a different program (usbclerk/usbdk, for instance), some warnings about
missing dlls are shown.
The most sane way to solve the problem is filling the "WorkingDirectory"
field to be the directory where remote-viewer.exe is installed.
For the msi case, the "WorkingDirectory" field takes as argument a
Directory Id (or a Property Id that points to a dir) and that's the
reason for create a single Directory line (DirBin).
---
 data/virt-viewer.nsis.in | 2 ++
 data/virt-viewer.wxs.in  | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/data/virt-viewer.nsis.in b/data/virt-viewer.nsis.in
index 8c54454..193565d 100755
--- a/data/virt-viewer.nsis.in
+++ b/data/virt-viewer.nsis.in
@@ -489,7 +489,9 @@ SectionEnd
 
 Section "Start Menu Shortcuts"
   CreateDirectory "$SMPROGRAMS\VirtViewer"
+  SetOutPath "$INSTDIR\bin"
   CreateShortCut "$SMPROGRAMS\VirtViewer\Remote Viewer.lnk" "$INSTDIR\bin\remote-viewer.exe" "" "$INSTDIR\bin\remote-viewer.exe" 0
+  SetOutPath "$INSTDIR"
   CreateShortCut "$SMPROGRAMS\VirtViewer\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
 SectionEnd
 
diff --git a/data/virt-viewer.wxs.in b/data/virt-viewer.wxs.in
index 1c02256..2bdd698 100644
--- a/data/virt-viewer.wxs.in
+++ b/data/virt-viewer.wxs.in
@@ -96,6 +96,8 @@
     </Directory>
 
     <DirectoryRef Id="INSTALLDIR">
+      <Directory Id="DirBin" Name="bin"/>
+
       <Directory Id="DirShare" Name="share">
         <Directory Id="DirHwdata" Name="hwdata">
           <Component Id="CHwdataUSB" Guid="*">
@@ -124,6 +126,7 @@
                   Name="Remote viewer"
                   Description="A SPICE/VNC client"
                   Target="[INSTALLDIR]\bin\remote-viewer.exe"
+                  WorkingDirectory="DirBin"
                   Icon="virt-viewer.ico"/>
         <RemoveFolder Id="MENUDIR" On="uninstall"/>
         <RegistryValue Root="HKCU" Key="Software\VirtViewer\remote-viewer-shortcut" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
-- 
2.4.3




More information about the virt-tools-list mailing list