summaryrefslogtreecommitdiff
path: root/setup_native
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2008-03-18 11:52:14 +0000
committerVladimir Glazounov <vg@openoffice.org>2008-03-18 11:52:14 +0000
commit30204e12f8b897c9264727d499122a4beb3b7cf5 (patch)
treea86b73658f2d31c24b5eb8109493c95791d6250c /setup_native
parentdd21387b82c04e8e7b7ea6933b5906f0b215f5cf (diff)
INTEGRATION: CWS sb83 (1.11.14); FILE MERGED
2008/02/11 14:15:29 is 1.11.14.2: #i85916# language pack in multilayered office 2008/02/06 13:53:30 is 1.11.14.1: #i85916# INSTALLLOCATION no longer only valid path
Diffstat (limited to 'setup_native')
-rw-r--r--setup_native/source/win32/customactions/languagepacks/respintest.cxx89
1 files changed, 15 insertions, 74 deletions
diff --git a/setup_native/source/win32/customactions/languagepacks/respintest.cxx b/setup_native/source/win32/customactions/languagepacks/respintest.cxx
index e09acc364fc0..cce8a9e7a6c6 100644
--- a/setup_native/source/win32/customactions/languagepacks/respintest.cxx
+++ b/setup_native/source/win32/customactions/languagepacks/respintest.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: respintest.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: kz $ $Date: 2007-09-06 13:27:46 $
+ * last change: $Author: vg $ $Date: 2008-03-18 12:52:14 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -96,9 +96,9 @@ namespace
extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
{
- string sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION"));
+ string sBasisInstallPath = GetMsiProperty(handle, TEXT("BASISINSTALLLOCATION"));
- // MessageBox(NULL, sInstallPath.c_str(), "DEBUG", MB_OK);
+ // MessageBox(NULL, sBasisInstallPath.c_str(), "DEBUG", MB_OK);
// unsetting all properties
@@ -109,7 +109,7 @@ extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
// 1. Searching for "ProductCode" in setup.ini
- string sSetupiniPath = sInstallPath + TEXT("program\\setup.ini");
+ string sSetupiniPath = sBasisInstallPath + TEXT("program\\setup.ini");
TCHAR szValue[32767];
@@ -126,87 +126,28 @@ extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
{
// No setup.ini or no "ProductCode" in setup.ini. This is an invalid directory.
SetMsiProperty( handle, TEXT("INVALIDDIRECTORY"), TEXT("YES") );
- // MessageBox(NULL, "INVALIDDIRECTORY set", "DEBUG", MB_OK);
+ // MessageBox(NULL, "INVALIDDIRECTORY set, no setup.ini or ProductCode in setup.ini.", "DEBUG", MB_OK);
SetMsiErrorCode( MSI_ERROR_INVALIDDIRECTORY );
return ERROR_SUCCESS;
}
- // 2. Searching for "version.ini" and "bootstrap.ini"
-
- // version.ini is the new file, that shall be used. If there is no version.ini, it can be possible
- // that this is an old src680-version, in which only bootstrap.ini exists. In this case, the data
- // have to be read from bootstrap.ini.
-
- string sBootstrapPath = sInstallPath + TEXT("program\\bootstrap.ini");
- string sVersionPath = sInstallPath + TEXT("program\\version.ini");
- string sInfofilePath = "";
- string sectionname = "";
-
- WIN32_FIND_DATA data;
- HANDLE hdl = FindFirstFile(sVersionPath.c_str(), &data);
-
- // string mystr = "Searching for " + sVersionPath;
- // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK);
-
- // if (hdl == INVALID_HANDLE_VALUE)
- if ( ! IsValidHandle(hdl) )
- {
- // version.ini not found.
- // Searching for bootstrap.ini
-
- hdl = FindFirstFile(sBootstrapPath.c_str(), &data);
-
- // mystr = "Searching for " + sBootstrapPath;
- // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK);
-
- // if (hdl == INVALID_HANDLE_VALUE)
- if ( ! IsValidHandle(hdl) )
- {
- // Neither bootstrap.ini nor version.ini exist -> this is a wrong product
- // MessageBox(NULL, "Neither bootstrap.ini nor version.ini exist -> ISWRONGPRODUCT 1 set", "DEBUG", MB_OK);
- SetMsiProperty( handle, TEXT("ISWRONGPRODUCT"), TEXT("YES") );
- // MessageBox(NULL, "ISWRONGPRODUCT 1 set", "DEBUG", MB_OK);
- SetMsiErrorCode( MSI_ERROR_ISWRONGPRODUCT );
- return ERROR_SUCCESS;
- }
- else
- {
- // bootstrap.ini found, it can be used as InfoFile
- sInfofilePath = sBootstrapPath;
- sectionname = TEXT("Bootstrap");
- // mystr = "bootstrap.ini found, section name: " + sectionname;
- // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK);
- }
- }
- else
- {
- // version.ini found, it can be used as InfoFile
- sInfofilePath = sVersionPath;
- sectionname = TEXT("Version");
- // mystr = "version.ini found, section name: " + sectionname;
- // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK);
- }
-
- // mystr = "Value of sInfofilePath: " + sInfofilePath;
- // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK);
-
- // 3. Comparing first three characters of "PRODUCTMAJOR" from property table and "buildid" from InfoFile
+ // 2. Comparing first three characters of "PRODUCTMAJOR" from property table and "buildid" from InfoFile
szValue[0] = '\0';
GetPrivateProfileString(
- TEXT(sectionname.c_str()),
+ TEXT("Bootstrap"),
TEXT("buildid"),
TEXT("ISWRONGPRODUCT"),
szValue,
elementsof(szValue),
- sInfofilePath.c_str()
+ sSetupiniPath.c_str()
);
if ( !_tcsicmp( szValue, TEXT("ISWRONGPRODUCT") ) )
{
SetMsiProperty( handle, TEXT("ISWRONGPRODUCT"), TEXT("YES") );
- // MessageBox(NULL, "ISWRONGPRODUCT 1 set", "DEBUG", MB_OK);
+ // MessageBox(NULL, "ISWRONGPRODUCT 1 set after searching buildid", "DEBUG", MB_OK);
SetMsiErrorCode( MSI_ERROR_ISWRONGPRODUCT );
return ERROR_SUCCESS;
}
@@ -219,12 +160,12 @@ extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
if (_tcsnicmp(ProductMajor.c_str(), szValue, 3))
{
SetMsiProperty( handle, TEXT("ISWRONGPRODUCT"), TEXT("YES") );
- // MessageBox(NULL, "ISWRONGPRODUCT 2 set", "DEBUG", MB_OK);
+ // MessageBox(NULL, "ISWRONGPRODUCT 2 set after searching PRODUCTMAJOR", "DEBUG", MB_OK);
SetMsiErrorCode( MSI_ERROR_ISWRONGPRODUCT );
return ERROR_SUCCESS;
}
- // 4. Only for patch: Comparing "PRODUCTMINOR from property table and "ProductMinor" from InfoFile
+ // 3. Only for patch: Comparing "PRODUCTMINOR from property table and "ProductMinor" from InfoFile
string isPatch = GetMsiProperty(handle, TEXT("ISPATCH"));
@@ -236,12 +177,12 @@ extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
szValue[0] = '\0';
GetPrivateProfileString(
- TEXT(sectionname.c_str()),
+ TEXT("Bootstrap"),
TEXT("ProductBuildid"),
TEXT("8918"),
szValue,
elementsof(szValue),
- sInfofilePath.c_str()
+ sSetupiniPath.c_str()
);
int InstalledProductMinor = atoi(szValue);
@@ -255,7 +196,7 @@ extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle)
}
}
- // 5. Setting property ALLUSERS with value from "setup.ini"
+ // 4. Setting property ALLUSERS with value from "setup.ini"
szValue[0] = '\0';