diff --git a/checkin_notes b/checkin_notes index cd14564cd4..0a80908939 100755 --- a/checkin_notes +++ b/checkin_notes @@ -5856,3 +5856,18 @@ Charlie 6 June 2007 mac_build/ boinc.xcodeproj/ project.pbxproj + +Rom 6 June 2007 + - WinSETUP: The VBS custom action should delete the existing + VBS script in the various uninstall modes. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateVBSShortcut.cpp, .h + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + diff --git a/clientgui/ProjectInfoPage.cpp b/clientgui/ProjectInfoPage.cpp index e3e71aec3a..34cfe498f0 100644 --- a/clientgui/ProjectInfoPage.cpp +++ b/clientgui/ProjectInfoPage.cpp @@ -271,6 +271,11 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { */ void CProjectInfoPage::OnPageChanging( wxWizardExEvent& event ) { + + // Delete all existing entries + // + m_pProjectListCtrl->DeleteAllEntries(); + event.Skip(); } diff --git a/win_build/installerv2/BOINC.ism b/win_build/installerv2/BOINC.ism index 040b60532e..cb4f48b4df 100644 Binary files a/win_build/installerv2/BOINC.ism and b/win_build/installerv2/BOINC.ism differ diff --git a/win_build/installerv2/BOINCx64.ism b/win_build/installerv2/BOINCx64.ism index e9906a731c..3096297f03 100644 Binary files a/win_build/installerv2/BOINCx64.ism and b/win_build/installerv2/BOINCx64.ism differ diff --git a/win_build/installerv2/redist/Windows/Win32/boinccas.dll b/win_build/installerv2/redist/Windows/Win32/boinccas.dll index 2e9e6e18b5..cfc257b944 100644 Binary files a/win_build/installerv2/redist/Windows/Win32/boinccas.dll and b/win_build/installerv2/redist/Windows/Win32/boinccas.dll differ diff --git a/win_build/installerv2/redist/Windows/Win32/boinccas95.dll b/win_build/installerv2/redist/Windows/Win32/boinccas95.dll index 625726edbf..633660d791 100644 Binary files a/win_build/installerv2/redist/Windows/Win32/boinccas95.dll and b/win_build/installerv2/redist/Windows/Win32/boinccas95.dll differ diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.cpp b/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.cpp index c2fd12718d..bf496726d9 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.cpp +++ b/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.cpp @@ -121,6 +121,141 @@ UINT CACreateVBSShortcut::OnExecution() } +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT CACreateVBSShortcut::OnUninstall() +{ + tstring strAllUsers; + tstring strVBSScript; + tstring strEnableLaunchAtLogon; + TCHAR szBuffer[MAX_PATH]; + UINT uiReturnValue = -1; + + + uiReturnValue = GetProperty( _T("ALLUSERS"), strAllUsers ); + if ( uiReturnValue ) return uiReturnValue; + + uiReturnValue = GetProperty( _T("ENABLELAUNCHATLOGON"), strEnableLaunchAtLogon ); + if ( uiReturnValue ) return uiReturnValue; + + // Fix for Win9x systems + if (_T("1") != strEnableLaunchAtLogon) { + return ERROR_SUCCESS; + } + + // Find the correct startup directory. + if (_T("1") == strAllUsers) { + SHGetFolderPath(NULL, CSIDL_COMMON_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } else { + SHGetFolderPath(NULL, CSIDL_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } + + // Open the file for writing + strVBSScript = szBuffer; + strVBSScript += _T("\\BOINC Manager.vbs"); + + // Uninstall operation + DeleteFile(strVBSScript.c_str()); + + return ERROR_SUCCESS; +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT CACreateVBSShortcut::OnRollbackUninstall() +{ + tstring strAllUsers; + tstring strVBSScript; + tstring strEnableLaunchAtLogon; + TCHAR szBuffer[MAX_PATH]; + UINT uiReturnValue = -1; + + + uiReturnValue = GetProperty( _T("ALLUSERS"), strAllUsers ); + if ( uiReturnValue ) return uiReturnValue; + + uiReturnValue = GetProperty( _T("ENABLELAUNCHATLOGON"), strEnableLaunchAtLogon ); + if ( uiReturnValue ) return uiReturnValue; + + // Fix for Win9x systems + if (_T("1") != strEnableLaunchAtLogon) { + return ERROR_SUCCESS; + } + + // Find the correct startup directory. + if (_T("1") == strAllUsers) { + SHGetFolderPath(NULL, CSIDL_COMMON_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } else { + SHGetFolderPath(NULL, CSIDL_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } + + // Open the file for writing + strVBSScript = szBuffer; + strVBSScript += _T("\\BOINC Manager.vbs"); + + // Uninstall operation + DeleteFile(strVBSScript.c_str()); + + return ERROR_SUCCESS; +} + + +///////////////////////////////////////////////////////////////////// +// +// Function: +// +// Description: +// +///////////////////////////////////////////////////////////////////// +UINT CACreateVBSShortcut::OnCommitUninstall() +{ + tstring strAllUsers; + tstring strVBSScript; + tstring strEnableLaunchAtLogon; + TCHAR szBuffer[MAX_PATH]; + UINT uiReturnValue = -1; + + + uiReturnValue = GetProperty( _T("ALLUSERS"), strAllUsers ); + if ( uiReturnValue ) return uiReturnValue; + + uiReturnValue = GetProperty( _T("ENABLELAUNCHATLOGON"), strEnableLaunchAtLogon ); + if ( uiReturnValue ) return uiReturnValue; + + // Fix for Win9x systems + if (_T("1") != strEnableLaunchAtLogon) { + return ERROR_SUCCESS; + } + + // Find the correct startup directory. + if (_T("1") == strAllUsers) { + SHGetFolderPath(NULL, CSIDL_COMMON_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } else { + SHGetFolderPath(NULL, CSIDL_STARTUP|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, szBuffer); + } + + // Open the file for writing + strVBSScript = szBuffer; + strVBSScript += _T("\\BOINC Manager.vbs"); + + // Uninstall operation + DeleteFile(strVBSScript.c_str()); + + return ERROR_SUCCESS; +} + + ///////////////////////////////////////////////////////////////////// // // Function: CreateVBSShortcut diff --git a/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.h b/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.h index 051a703d73..bda9d629b9 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.h +++ b/win_build/installerv2/redist/Windows/src/boinccas/CACreateVBSShortcut.h @@ -29,7 +29,9 @@ public: CACreateVBSShortcut(MSIHANDLE hMSIHandle); ~CACreateVBSShortcut(); virtual UINT OnExecution(); - + virtual UINT OnUninstall(); + virtual UINT OnRollbackUninstall(); + virtual UINT OnCommitUninstall(); }; diff --git a/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc b/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc index 815501a673..a3e145b219 100644 --- a/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc +++ b/win_build/installerv2/redist/Windows/src/boinccas/boinccas.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,29 - PRODUCTVERSION 1,0,0,29 + FILEVERSION 1,0,0,30 + PRODUCTVERSION 1,0,0,30 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -70,12 +70,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "BOINC Dynamic Link Library" - VALUE "FileVersion", "1.0.0.29" + VALUE "FileVersion", "1.0.0.30" VALUE "InternalName", "BOINC" VALUE "LegalCopyright", "Copyright (C) 2005-2007" VALUE "OriginalFilename", "BOINC.dll" VALUE "ProductName", " BOINC Dynamic Link Library" - VALUE "ProductVersion", "1.0.0.29" + VALUE "ProductVersion", "1.0.0.30" END END BLOCK "VarFileInfo" diff --git a/win_build/installerv2/redist/Windows/x64/boinccas.dll b/win_build/installerv2/redist/Windows/x64/boinccas.dll index 2a213e599e..ff9b7df019 100644 Binary files a/win_build/installerv2/redist/Windows/x64/boinccas.dll and b/win_build/installerv2/redist/Windows/x64/boinccas.dll differ diff --git a/win_build/installerv2/redist/Windows/x64/boinccas95.dll b/win_build/installerv2/redist/Windows/x64/boinccas95.dll index 6a74f8ac68..71b4c3617d 100644 Binary files a/win_build/installerv2/redist/Windows/x64/boinccas95.dll and b/win_build/installerv2/redist/Windows/x64/boinccas95.dll differ