]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
loopback-installer-fix-20040621
authorJeffrey Altman <jaltman@mit.edu>
Mon, 21 Jun 2004 21:13:55 +0000 (21:13 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 21 Jun 2004 21:13:55 +0000 (21:13 +0000)
Convert all Loopback installation code to use Unicode always

Fix case sensitivity of loopback adapter type comparison

src/WINNT/install/NSIS/OpenAFS.nsi
src/WINNT/install/NSIS/loopback_install.cpp
src/WINNT/install/NSIS/loopback_install.def
src/WINNT/install/wix/custom/instloop.c

index 01372b9556ecc588185de408a19a4ab61654159a..053a31ea97c0996f4128b8a66a94348d8d81465e 100644 (file)
@@ -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
 
index 4369973280618f79b9f1d5db8430d2380c1784ad..1310acbcb0ceec7135d0c241a859a7daf4b92f5e 100644 (file)
@@ -24,6 +24,8 @@
 
 // Win2k
 #define _WIN32_DCOM
+#define UNICODE
+#define _UNICODE
 
 #include <windows.h>
 #include <shellapi.h>
@@ -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
index 0d4e9ac6b3641d3e674c5d9f59f871abe838445a..defe319b924543891d97cb43cec9f0da5d4e195d 100644 (file)
@@ -5,3 +5,6 @@ DESCRIPTION "Microsoft Loopback Adapter Installer for OpenAFS"
 EXPORTS
     doLoopBackEntryW
     disableLoopBackEntryW
+    loopback_isInstalled
+
+    
index dd0fa3101d4706e50657df7747ea572faf794858..28c4fc10b34b354ff423892534ee6cc52b8babf1 100644 (file)
@@ -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;