diff options
author | Vladislav Vaintroub <wlad@montyprogram.com> | 2011-01-30 22:27:59 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@montyprogram.com> | 2011-01-30 22:27:59 +0100 |
commit | 366ee3c791ca6b5e7688a5138dfe347860772d2a (patch) | |
tree | 382224bbff0ec202ac76390e209c286a069b4bda /win/packaging | |
parent | e353bc80f721fc415ab2977f503878d69b43e63e (diff) | |
download | mariadb-git-366ee3c791ca6b5e7688a5138dfe347860772d2a.tar.gz |
Move common functionality (analyze service configuration) into winservice library
Diffstat (limited to 'win/packaging')
-rw-r--r-- | win/packaging/CMakeLists.txt | 1 | ||||
-rw-r--r-- | win/packaging/ca/CMakeLists.txt | 3 | ||||
-rw-r--r-- | win/packaging/ca/CustomAction.cpp | 48 |
3 files changed, 6 insertions, 46 deletions
diff --git a/win/packaging/CMakeLists.txt b/win/packaging/CMakeLists.txt index 67d22b15ab9..c0670a171ba 100644 --- a/win/packaging/CMakeLists.txt +++ b/win/packaging/CMakeLists.txt @@ -23,6 +23,7 @@ FIND_PATH(WIX_DIR heat.exe $ENV{ProgramFiles}/wix/bin "$ENV{ProgramFiles}/Windows Installer XML v3/bin" "$ENV{ProgramFiles}/Windows Installer XML v3.5/bin" + "$ENV{ProgramFiles}/Windows Installer XML v3.6/bin" ) SET(CPACK_WIX_PACKAGE_BASE_NAME "MariaDB") diff --git a/win/packaging/ca/CMakeLists.txt b/win/packaging/ca/CMakeLists.txt index d09fae1918c..7dd30123587 100644 --- a/win/packaging/ca/CMakeLists.txt +++ b/win/packaging/ca/CMakeLists.txt @@ -18,6 +18,7 @@ LINK_DIRECTORIES(${WIX_DIR}/../SDK/lib) SET(WIXCA_SOURCES CustomAction.cpp CustomAction.def) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/sql) IF(CMAKE_SIZEOF_VOID_P EQUAL 8) SET(WIX_ARCH_SUFFIX "_x64") @@ -47,4 +48,4 @@ FIND_LIBRARY(WIX_DUTIL_LIBRARY ADD_VERSION_INFO(wixca SHARED WIXCA_SOURCES) ADD_LIBRARY(wixca SHARED EXCLUDE_FROM_ALL ${WIXCA_SOURCES}) TARGET_LINK_LIBRARIES(wixca ${WIX_WCAUTIL_LIBRARY} ${WIX_DUTIL_LIBRARY} - msi version) + msi version winservice) diff --git a/win/packaging/ca/CustomAction.cpp b/win/packaging/ca/CustomAction.cpp index 1910aa4c1d3..af2602348cd 100644 --- a/win/packaging/ca/CustomAction.cpp +++ b/win/packaging/ca/CustomAction.cpp @@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <strsafe.h> #include <assert.h> +#include <winservice.h> UINT ExecRemoveDataDirectory(wchar_t *dir) { @@ -547,49 +548,6 @@ LExit: return WcaFinalize(er); } -/* - Extract major and minor version from - mysqld.exe, using commandline in service definition -*/ -static void GetMySQLVersion( - wchar_t *cmdline, - wchar_t *programBuf, - bool *isMySQL, int *major, int *minor) -{ - *major= 0; - *minor= 0; - *isMySQL= false; - int argc; - wchar_t **wargv = CommandLineToArgvW(cmdline, &argc); - if(argc != 3) - return; - - wchar_t path[MAX_PATH]; - wchar_t *filepart; - - wcscpy_s(programBuf, MAX_PATH, wargv[0]); - if(!wcsstr(programBuf, L".exe")) - wcscat_s(programBuf,MAX_PATH, L".exe"); - - GetFullPathNameW(programBuf,MAX_PATH, path, &filepart); - if(wcsicmp(filepart, L"mysqld.exe") == 0) - { - *isMySQL = true; - DWORD handle; - DWORD size = GetFileVersionInfoSizeW(path, &handle); - BYTE* versionInfo = new BYTE[size]; - if (GetFileVersionInfo(path, handle, size, versionInfo)) - { - UINT len = 0; - VS_FIXEDFILEINFO* vsfi = NULL; - VerQueryValueW(versionInfo, L"\\", (void**)&vsfi, &len); - *major= HIWORD(vsfi->dwFileVersionMS); - *minor= LOWORD(vsfi->dwFileVersionMS); - } - delete[] versionInfo; - } -} - /* Enables/disables optional "Launch upgrade wizard" checkbox at the end of installation @@ -603,7 +561,7 @@ extern "C" UINT __stdcall CheckServiceUpgrades(MSIHANDLE hInstall) wchar_t* service= 0; wchar_t* dir= 0; wchar_t installerVersion[MAX_VERSION_PROPERTY_SIZE]; - wchar_t installDir[MAX_PATH]; + char installDir[MAX_PATH]; DWORD size =MAX_VERSION_PROPERTY_SIZE; int installerMajorVersion, installerMinorVersion, installerPatchVersion; bool upgradableServiceFound=false; @@ -623,7 +581,7 @@ extern "C" UINT __stdcall CheckServiceUpgrades(MSIHANDLE hInstall) } size= MAX_PATH; - if (MsiGetPropertyW(hInstall,L"INSTALLDIR", installDir, &size) + if (MsiGetPropertyA(hInstall,"INSTALLDIR", installDir, &size) != ERROR_SUCCESS) { hr = HRESULT_FROM_WIN32(GetLastError()); |