< prev index next >

src/jdk.incubator.jpackage/windows/native/libwixhelper/libwixhelper.cpp

Print this page




  41 
  42     BOOL DirectoryExist(TCHAR *szValue) {
  43         DWORD attr = GetFileAttributes(szValue);
  44         if (attr == INVALID_FILE_ATTRIBUTES) {
  45             return FALSE;
  46         }
  47 
  48         if (attr & FILE_ATTRIBUTE_DIRECTORY) {
  49             return TRUE;
  50         }
  51 
  52         return FALSE;
  53     }
  54 
  55     UINT __stdcall CheckInstallDir(MSIHANDLE hInstall) {
  56         #pragma JP_EXPORT_FUNCTION
  57 
  58         TCHAR *szValue = NULL;
  59         DWORD cchSize = 0;
  60 
  61         UINT result = MsiGetProperty(hInstall, TEXT("APPLICATIONFOLDER"), TEXT(""), &cchSize);

  62         if (result == ERROR_MORE_DATA) {
  63             cchSize = cchSize + 1; // NULL termination
  64             szValue = new TCHAR[cchSize];
  65             if (szValue) {
  66                 result = MsiGetProperty(hInstall, TEXT("APPLICATIONFOLDER"), szValue, &cchSize);

  67             } else {
  68                 return ERROR_INSTALL_FAILURE;
  69             }
  70         }
  71 
  72         if (result != ERROR_SUCCESS) {
  73             delete [] szValue;
  74             return ERROR_INSTALL_FAILURE;
  75         }
  76 
  77         if (DirectoryExist(szValue)) {
  78             if (PathIsDirectoryEmpty(szValue)) {
  79                 MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("1"));
  80             } else {
  81                 MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("0"));
  82             }
  83         } else {
  84             MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("1"));
  85         }
  86 


  41 
  42     BOOL DirectoryExist(TCHAR *szValue) {
  43         DWORD attr = GetFileAttributes(szValue);
  44         if (attr == INVALID_FILE_ATTRIBUTES) {
  45             return FALSE;
  46         }
  47 
  48         if (attr & FILE_ATTRIBUTE_DIRECTORY) {
  49             return TRUE;
  50         }
  51 
  52         return FALSE;
  53     }
  54 
  55     UINT __stdcall CheckInstallDir(MSIHANDLE hInstall) {
  56         #pragma JP_EXPORT_FUNCTION
  57 
  58         TCHAR *szValue = NULL;
  59         DWORD cchSize = 0;
  60 
  61         UINT result = MsiGetProperty(hInstall, TEXT("INSTALLDIR"),
  62                 TEXT(""), &cchSize);
  63         if (result == ERROR_MORE_DATA) {
  64             cchSize = cchSize + 1; // NULL termination
  65             szValue = new TCHAR[cchSize];
  66             if (szValue) {
  67                 result = MsiGetProperty(hInstall, TEXT("INSTALLDIR"),
  68                         szValue, &cchSize);
  69             } else {
  70                 return ERROR_INSTALL_FAILURE;
  71             }
  72         }
  73 
  74         if (result != ERROR_SUCCESS) {
  75             delete [] szValue;
  76             return ERROR_INSTALL_FAILURE;
  77         }
  78 
  79         if (DirectoryExist(szValue)) {
  80             if (PathIsDirectoryEmpty(szValue)) {
  81                 MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("1"));
  82             } else {
  83                 MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("0"));
  84             }
  85         } else {
  86             MsiSetProperty(hInstall, TEXT("INSTALLDIR_VALID"), TEXT("1"));
  87         }
  88 
< prev index next >