From: Jeffrey Altman Date: Mon, 21 Jun 2004 21:13:55 +0000 (+0000) Subject: loopback-installer-fix-20040621 X-Git-Tag: openafs-devel-1_3_65~31 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=9cae2bb1f3a39933a2a1fc4dc292a054288b70db;p=packages%2Fo%2Fopenafs.git loopback-installer-fix-20040621 Convert all Loopback installation code to use Unicode always Fix case sensitivity of loopback adapter type comparison --- diff --git a/src/WINNT/install/NSIS/OpenAFS.nsi b/src/WINNT/install/NSIS/OpenAFS.nsi index 01372b955..053a31ea9 100644 --- a/src/WINNT/install/NSIS/OpenAFS.nsi +++ b/src/WINNT/install/NSIS/OpenAFS.nsi @@ -1766,11 +1766,10 @@ StartRemove: !ENDIF !ENDIF - IfSilent SkipAsk + IfSilent SkipDel ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk ; CellExists: MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel - SkipAsk: Delete "$WINDIR\afsdcell.ini" Delete "$WINDIR\afsdsbmt.ini" @@ -1994,7 +1993,9 @@ FunctionEnd Function un.onUninstSuccess - MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software" + IfSilent SkipAsk + MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software" + SkipAsk: FunctionEnd diff --git a/src/WINNT/install/NSIS/loopback_install.cpp b/src/WINNT/install/NSIS/loopback_install.cpp index 436997328..1310acbcb 100644 --- a/src/WINNT/install/NSIS/loopback_install.cpp +++ b/src/WINNT/install/NSIS/loopback_install.cpp @@ -24,6 +24,8 @@ // Win2k #define _WIN32_DCOM +#define UNICODE +#define _UNICODE #include #include @@ -135,9 +137,9 @@ void EasyErrorBox (int hr, WCHAR *format, ...) } // RSM4: Converted this to stdcall so NSIS System::Call can call it (It defaults to stdcall) -_stdcall bool loopback_isInstalled() +bool _stdcall loopback_isInstalled() { - char *hwid = "*MSLOOP"; + TCHAR * hwid = _T("*MSLOOP"); HDEVINFO DeviceInfoSet; SP_DEVINFO_DATA DeviceInfoData; DWORD i,err; @@ -161,7 +163,7 @@ _stdcall bool loopback_isInstalled() for (i=0; SetupDiEnumDeviceInfo(DeviceInfoSet,i,&DeviceInfoData); i++) { DWORD DataT; - LPTSTR p,buffer = NULL; + TCHAR *p, *buffer = NULL; DWORD buffersize = 0; // @@ -182,7 +184,7 @@ _stdcall bool loopback_isInstalled() // We need to change the buffer size. if (buffer) LocalFree(buffer); - buffer = (char *)LocalAlloc(LPTR,buffersize); + buffer = (TCHAR *)LocalAlloc(LPTR,buffersize); } else { @@ -196,9 +198,9 @@ _stdcall bool loopback_isInstalled() continue; // Compare each entry in the buffer multi-sz list with our hwid. - for (p=buffer; *p && (p < &buffer[buffersize]); p += lstrlen(p)+1) + for (p=buffer; *p && (p < &buffer[buffersize]); p += _tcslen(p)+1) { - if (!strcmp(hwid,p)) + if (!_tcsicmp(hwid,p)) { found = TRUE; break; @@ -222,7 +224,7 @@ cleanup_DeviceInfo: // RSM4: Added bool disable_loopback() { - char *hwid = "*MSLOOP"; + TCHAR * hwid = _T("*MSLOOP"); HDEVINFO DeviceInfoSet; SP_DEVINFO_DATA DeviceInfoData; SP_PROPCHANGE_PARAMS PropChangeParams = {sizeof(SP_CLASSINSTALL_HEADER)}; @@ -247,7 +249,7 @@ bool disable_loopback() for (i=0; SetupDiEnumDeviceInfo(DeviceInfoSet,i,&DeviceInfoData); i++) { DWORD DataT; - LPTSTR p,buffer = NULL; + TCHAR * p, *buffer = NULL; DWORD buffersize = 0; // @@ -268,7 +270,7 @@ bool disable_loopback() // We need to change the buffer size. if (buffer) LocalFree(buffer); - buffer = (char *)LocalAlloc(LPTR,buffersize); + buffer = (TCHAR *)LocalAlloc(LPTR,buffersize); } else { @@ -282,9 +284,9 @@ bool disable_loopback() continue; // Compare each entry in the buffer multi-sz list with our hwid. - for (p=buffer; *p && (p < &buffer[buffersize]); p += lstrlen(p)+1) + for (p=buffer; *p && (p < &buffer[buffersize]); p += _tcslen(p)+1) { - if (!strcmp(hwid,p)) + if (!_tcsicmp(hwid,p)) { found = TRUE; break; @@ -345,13 +347,13 @@ bool loopback_install(int *rebootNeeded) TCHAR hwIdList[LINE_LEN+4]; TCHAR InfPath[MAX_PATH]; bool success = false; - LPCTSTR hwid = "*MSLOOP"; - LPCTSTR inf = "INF\\NETLOOP.INF"; + TCHAR * hwid = _T("*MSLOOP"); + TCHAR * inf = _T("INF\\NETLOOP.INF"); DWORD flags = 0; HMODULE newdevMod = NULL; UpdateDriverForPlugAndPlayDevicesProto UpdateFn; - CHAR *systemRoot = getenv("SYSTEMROOT"); + TCHAR *systemRoot = _tgetenv(_T("SYSTEMROOT")); SetCurrentDirectory(systemRoot); // Inf must be a full pathname diff --git a/src/WINNT/install/NSIS/loopback_install.def b/src/WINNT/install/NSIS/loopback_install.def index 0d4e9ac6b..defe319b9 100644 --- a/src/WINNT/install/NSIS/loopback_install.def +++ b/src/WINNT/install/NSIS/loopback_install.def @@ -5,3 +5,6 @@ DESCRIPTION "Microsoft Loopback Adapter Installer for OpenAFS" EXPORTS doLoopBackEntryW disableLoopBackEntryW + loopback_isInstalled + + diff --git a/src/WINNT/install/wix/custom/instloop.c b/src/WINNT/install/wix/custom/instloop.c index dd0fa3101..28c4fc10b 100644 --- a/src/WINNT/install/wix/custom/instloop.c +++ b/src/WINNT/install/wix/custom/instloop.c @@ -247,7 +247,7 @@ cleanup: BOOL IsLoopbackInstalled() { - char *hwid = "*MSLOOP"; + TCHAR * hwid = _T("*MSLOOP"); HDEVINFO DeviceInfoSet; SP_DEVINFO_DATA DeviceInfoData; DWORD i,err; @@ -270,7 +270,7 @@ BOOL IsLoopbackInstalled() for (i=0; SetupDiEnumDeviceInfo(DeviceInfoSet,i,&DeviceInfoData); i++) { DWORD DataT; - LPTSTR p,buffer = NULL; + TCHAR *p, *buffer = NULL; DWORD buffersize = 0; // @@ -291,7 +291,7 @@ BOOL IsLoopbackInstalled() // We need to change the buffer size. if (buffer) LocalFree(buffer); - buffer = (char *)LocalAlloc(LPTR,buffersize); + buffer = (TCHAR *)LocalAlloc(LPTR,buffersize); } else { @@ -303,9 +303,9 @@ BOOL IsLoopbackInstalled() continue; // Compare each entry in the buffer multi-sz list with our hwid. - for (p=buffer; *p && (p < &buffer[buffersize]); p += lstrlen(p)+1) + for (p=buffer; *p && (p < &buffer[buffersize]); p += _tcslen(p)+1) { - if (!strcmp(hwid,p)) + if (!_tcsicmp(hwid,p)) { found = TRUE; break;