From: Brian S. <xue...@us...> - 2005-01-20 15:37:26
|
Update of /cvsroot/popfile/windows In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7266 Modified Files: adduser.nsi pfi-library.nsh Log Message: Improved handling of the version number in the registry. Index: pfi-library.nsh =================================================================== RCS file: /cvsroot/popfile/windows/pfi-library.nsh,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** pfi-library.nsh 15 Jan 2005 20:29:33 -0000 1.57 --- pfi-library.nsh 20 Jan 2005 15:37:16 -0000 1.58 *************** *** 57,61 **** #-------------------------------------------------------------------------- ! !define C_PFI_LIBRARY_VERSION "0.1.2" #-------------------------------------------------------------------------- --- 57,61 ---- #-------------------------------------------------------------------------- ! !define C_PFI_LIBRARY_VERSION "0.1.3" #-------------------------------------------------------------------------- *************** *** 278,281 **** --- 278,294 ---- #-------------------------------------------------------------------------- # + # Macro used by 'adduser.nsi' to update HKCU registry data using HKLM data + # + #-------------------------------------------------------------------------- + + !macro Copy_HKLM_to_HKCU VAR NAME + + ReadRegStr ${VAR} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "${NAME}" + WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "${NAME}" ${VAR} + + !macroend + + #-------------------------------------------------------------------------- + # # Macro used to preserve up to 3 backup copies of a file # Index: adduser.nsi =================================================================== RCS file: /cvsroot/popfile/windows/adduser.nsi,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** adduser.nsi 18 Jan 2005 00:11:52 -0000 1.67 --- adduser.nsi 20 Jan 2005 15:37:15 -0000 1.68 *************** *** 181,185 **** Name "POPFile User" ! !define C_PFI_VERSION "0.2.63" ; Mention the wizard's version number in the titles of the installer & uninstaller windows --- 181,185 ---- Name "POPFile User" ! !define C_PFI_VERSION "0.2.64" ; Mention the wizard's version number in the titles of the installer & uninstaller windows *************** *** 841,848 **** !define L_POPFILE_USER $R7 !define L_TEMP $R6 - !define L_TEMP_2 $R5 - !define L_TEMP_3 $R4 - !define L_TEMP_4 $R3 - !define L_TEMP_5 $R2 !define L_RESERVED $0 ; used in system.dll calls --- 841,844 ---- *************** *** 876,883 **** Push ${L_POPFILE_USER} Push ${L_TEMP} - Push ${L_TEMP_2} - Push ${L_TEMP_3} - Push ${L_TEMP_4} - Push ${L_TEMP_5} ; If the wizard is in the same folder as POPFile, check the HKLM data is still valid --- 872,875 ---- *************** *** 894,905 **** WriteRegStr HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_HKLM_root_sfn ! StrCpy ${L_TEMP_2} "Not supported" Goto save_HKLM_root_sfn find_HKLM_root_sfn: ! GetFullPathName /SHORT ${L_TEMP_2} "$G_ROOTDIR" save_HKLM_root_sfn: ! WriteRegStr HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP_2}" IfFileExists "$SMPROGRAMS\${C_PFI_PRODUCT}\Uninstall POPFile.lnk" 0 update_HKCU_data --- 886,897 ---- WriteRegStr HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_HKLM_root_sfn ! StrCpy ${L_TEMP} "Not supported" Goto save_HKLM_root_sfn find_HKLM_root_sfn: ! GetFullPathName /SHORT ${L_TEMP} "$G_ROOTDIR" save_HKLM_root_sfn: ! WriteRegStr HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP}" IfFileExists "$SMPROGRAMS\${C_PFI_PRODUCT}\Uninstall POPFile.lnk" 0 update_HKCU_data *************** *** 920,933 **** ; (1) $G_ROOTDIR is initialized by the 'PFIGUIInit' function ; (2) $G_USERDIR is normally initialized by the 'User Data' DIRECTORY page ! ! ReadRegStr ${L_TEMP_2} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" ! ReadRegStr ${L_TEMP_3} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" ! ReadRegStr ${L_TEMP_4} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" ! ReadRegStr ${L_TEMP_5} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile RevStatus" ! ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" "${L_TEMP_2}" ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" "${L_TEMP_3}" ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" "${L_TEMP_4}" ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile RevStatus" "${L_TEMP_5}" WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "Author" "adduser.exe" WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "Owner" "$G_WINUSERNAME" --- 912,930 ---- ; (1) $G_ROOTDIR is initialized by the 'PFIGUIInit' function ; (2) $G_USERDIR is normally initialized by the 'User Data' DIRECTORY page ! ! ReadRegStr ${L_TEMP} HKLM "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "InstallPath" ! Push ${L_TEMP} ! Call GetCompleteFPN ! Pop ${L_TEMP} ! StrCmp $G_ROOTDIR ${L_TEMP} 0 update_author ! ! ; The version data in the registry applies to the POPFile programs we have found, so copy it ! ! !insertmacro Copy_HKLM_to_HKCU "${L_TEMP}" "POPFile Major Version" ! !insertmacro Copy_HKLM_to_HKCU "${L_TEMP}" "POPFile Minor Version" ! !insertmacro Copy_HKLM_to_HKCU "${L_TEMP}" "POPFile Revision" ! !insertmacro Copy_HKLM_to_HKCU "${L_TEMP}" "POPFile RevStatus" ! ! update_author: WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "Author" "adduser.exe" WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "Owner" "$G_WINUSERNAME" *************** *** 936,947 **** WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_root_sfn ! StrCpy ${L_TEMP_2} "Not supported" Goto save_root_sfn find_root_sfn: ! GetFullPathName /SHORT ${L_TEMP_2} "$G_ROOTDIR" save_root_sfn: ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP_2}" WriteINIStr "$G_USERDIR\install.ini" "Settings" "Owner" "$G_WINUSERNAME" --- 933,944 ---- WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_LFN" "$G_ROOTDIR" StrCmp $G_SFN_DISABLED "0" find_root_sfn ! StrCpy ${L_TEMP} "Not supported" Goto save_root_sfn find_root_sfn: ! GetFullPathName /SHORT ${L_TEMP} "$G_ROOTDIR" save_root_sfn: ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "RootDir_SFN" "${L_TEMP}" WriteINIStr "$G_USERDIR\install.ini" "Settings" "Owner" "$G_WINUSERNAME" *************** *** 952,963 **** WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "UserDir_LFN" "$G_USERDIR" StrCmp $G_SFN_DISABLED "0" find_user_sfn ! StrCpy ${L_TEMP_2} "Not supported" Goto save_user_sfn find_user_sfn: ! GetFullPathName /SHORT ${L_TEMP_2} "$G_USERDIR" save_user_sfn: ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "UserDir_SFN" "${L_TEMP_2}" ; Now ensure the POPFILE_ROOT and POPFILE_USER environment variables have the correct data --- 949,960 ---- WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "UserDir_LFN" "$G_USERDIR" StrCmp $G_SFN_DISABLED "0" find_user_sfn ! StrCpy ${L_TEMP} "Not supported" Goto save_user_sfn find_user_sfn: ! GetFullPathName /SHORT ${L_TEMP} "$G_USERDIR" save_user_sfn: ! WriteRegStr HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "UserDir_SFN" "${L_TEMP}" ; Now ensure the POPFILE_ROOT and POPFILE_USER environment variables have the correct data *************** *** 1124,1138 **** ; Use registry data to construct the name of the NOTEPAD-compatible release notes file ! ReadRegStr ${L_TEMP} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" ! ReadRegStr ${L_TEMP_2} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" ! StrCpy ${L_TEMP} "v${L_TEMP}.${L_TEMP_2}" ! ReadRegStr ${L_TEMP_2} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" ! StrCpy ${L_TEMP} "${L_TEMP}.${L_TEMP_2}.change.txt" ! IfFileExists "$G_ROOTDIR\${L_TEMP}" 0 skip_rel_notes SetOutPath "$G_ROOTDIR" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" \ ! "$G_ROOTDIR\${L_TEMP}" skip_rel_notes: --- 1121,1135 ---- ; Use registry data to construct the name of the NOTEPAD-compatible release notes file ! ReadRegStr ${L_RESERVED} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Major Version" ! ReadRegStr ${L_TEMP} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Minor Version" ! StrCpy ${L_RESERVED} "v${L_RESERVED}.${L_TEMP}" ! ReadRegStr ${L_TEMP} HKCU "SOFTWARE\POPFile Project\${C_PFI_PRODUCT}\MRI" "POPFile Revision" ! StrCpy ${L_RESERVED} "${L_RESERVED}.${L_TEMP}.change.txt" ! IfFileExists "$G_ROOTDIR\${L_RESERVED}" 0 skip_rel_notes SetOutPath "$G_ROOTDIR" SetFileAttributes "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" NORMAL CreateShortCut "$SMPROGRAMS\${C_PFI_PRODUCT}\Release Notes.lnk" \ ! "$G_ROOTDIR\${L_RESERVED}" skip_rel_notes: *************** *** 1250,1257 **** SetDetailsPrint listonly - Pop ${L_TEMP_5} - Pop ${L_TEMP_4} - Pop ${L_TEMP_3} - Pop ${L_TEMP_2} Pop ${L_TEMP} Pop ${L_POPFILE_USER} --- 1247,1250 ---- *************** *** 1266,1273 **** !undef L_POPFILE_USER !undef L_TEMP - !undef L_TEMP_2 - !undef L_TEMP_3 - !undef L_TEMP_4 - !undef L_TEMP_5 SectionEnd --- 1259,1262 ---- |