From: <xue...@us...> - 2004-02-29 12:20:14
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11916 Modified Files: installer.nsi Log Message: Simpler shortcut handling and uninstall entry creation. Index: installer.nsi =================================================================== RCS file: /cvsroot/popfile/windows/installer.nsi,v retrieving revision 1.176 retrieving revision 1.177 diff -C2 -d -r1.176 -r1.177 *** installer.nsi 28 Feb 2004 22:45:27 -0000 1.176 --- installer.nsi 29 Feb 2004 12:10:01 -0000 1.177 *************** *** 1374,1389 **** ; ('SetOutPath' is one way to change the value of $OUTDIR) ! ; For this build the following simple scheme is used for the shortcuts: ! ; (a) a 'POPFile' folder with the standard set of shortcuts is created for the current user ! ; (b) if the user ticked the relevant checkbox then a 'Run POPFile' shortcut is placed in the ! ; current user's StartUp folder. ! ; (c) if the user did not tick the relevant checkbox then the 'Run POPFile' shortcut is ! ; removed from the current user's StartUp folder if the user does not have 'Admin' rights ! ; (d) if the user has 'Admin' rights, a 'POPFile' folder with the standard set of shortcuts is ! ; created for 'all users' if the 'all users' folder is in a different location from that ! ; of the current user ! ; (e) if the user has 'Admin' rights and the user ticked the relevant checkbox then a ! ; 'Run POPFile' shortcut is placed in the 'all users' StartUp folder if that folder ! ; is in a different location from that of the current user SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" --- 1374,1393 ---- ; ('SetOutPath' is one way to change the value of $OUTDIR) ! ; For this build a (limited) multi-user install is performed when the user has 'Admin' rights ! ; otherwise a single-user install is performed. ! ; ! ; (1) If the user has 'Admin' rights: ! ; (a) a POPFile folder with a set of shortcuts is created in the 'All Users' Start Menu ! ; (b) if the user ticked the relevant checkbox then a 'Run POPFile' shortcut is created ! ; in the 'All Users' StartUp folder ! ; ! ; (2) If the user does not have 'Admin' rights: ! ; (a) a POPFile folder with a set of shortcuts is created in the 'Current User' Start Menu ! ; (b) if the user ticked the relevant checkbox then a 'Run POPFile' shortcut is created in ! ; the 'Current User' StartUp folder ! ; (c) if the user did not tick the relevant checkbox then the 'Run POPFile' shortcut is ! ; removed from the 'Current User' StartUp folder ! ! StrCmp $G_WINUSERTYPE "Admin" multi_user_case SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" *************** *** 1417,1444 **** "$G_ROOTDIR\stop_pf.exe" "/showerrors $G_GUI" ! SetOutPath $SMSTARTUP ! SetOutPath $INSTDIR ! StrCmp $G_STARTUP "1" set_autostart_set ! StrCmp $G_WINUSERTYPE "Admin" end_autostart_set Delete "$SMSTARTUP\Run POPFile.lnk" ! Goto end_autostart_set ! set_autostart_set: CreateShortCut "$SMSTARTUP\Run POPFile.lnk" "$INSTDIR\runpopfile.exe" "/startup" ! end_autostart_set: ! StrCmp $G_WINUSERTYPE "Admin" 0 remove_redundant_shortcuts ! ! ; Only admins have full access rights to the 'all users' area. If the 'all users' folder ! ; is not found, NSIS will return the 'current user' folder. To avoid unnecessary work, ! ; check if the 'all users' data is stored in the same place as the current user' data ! StrCpy ${L_TEMP} $SMPROGRAMS ! StrCpy ${L_CFG} $SMSTARTUP SetShellVarContext all - StrCmp $SMPROGRAMS ${L_TEMP} check_startup - SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" SetOutPath $INSTDIR --- 1421,1441 ---- "$G_ROOTDIR\stop_pf.exe" "/showerrors $G_GUI" ! StrCmp $G_STARTUP "1" set_autostart Delete "$SMSTARTUP\Run POPFile.lnk" ! Goto remove_redundant_shortcuts ! set_autostart: ! SetOutPath $SMSTARTUP ! SetOutPath $INSTDIR CreateShortCut "$SMSTARTUP\Run POPFile.lnk" "$INSTDIR\runpopfile.exe" "/startup" + Goto remove_redundant_shortcuts ! multi_user_case: ! ; Only admins have full access rights to the 'all users' area. ! ; If the 'All Users' folder is not found, NSIS will return the 'Current User' folder. SetShellVarContext all SetOutPath "$SMPROGRAMS\${C_PFI_PRODUCT}" SetOutPath $INSTDIR *************** *** 1471,1476 **** "$G_ROOTDIR\stop_pf.exe" "/showerrors $G_GUI" - check_startup: - StrCmp $SMSTARTUP ${L_CFG} remove_redundant_shortcuts StrCmp $G_STARTUP "1" 0 remove_redundant_shortcuts SetOutPath $SMSTARTUP --- 1468,1471 ---- *************** *** 1494,1497 **** --- 1489,1494 ---- ; Create entry in the Control Panel's "Add/Remove Programs" list + StrCmp $G_WINUSERTYPE "Admin" use_HKLM + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "DisplayName" "${C_PFI_PRODUCT} ${C_PFI_VERSION}" *************** *** 1502,1507 **** WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoRepair" "1" ! StrCmp $G_WINUSERTYPE "Admin" 0 end_section WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "DisplayName" "${C_PFI_PRODUCT} ${C_PFI_VERSION}" --- 1499,1505 ---- WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "NoRepair" "1" + Goto end_section ! use_HKLM: WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${C_PFI_PRODUCT}" \ "DisplayName" "${C_PFI_PRODUCT} ${C_PFI_VERSION}" |