summaryrefslogtreecommitdiff
path: root/win/packaging
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2011-01-30 22:27:59 +0100
committerVladislav Vaintroub <wlad@montyprogram.com>2011-01-30 22:27:59 +0100
commit366ee3c791ca6b5e7688a5138dfe347860772d2a (patch)
tree382224bbff0ec202ac76390e209c286a069b4bda /win/packaging
parente353bc80f721fc415ab2977f503878d69b43e63e (diff)
downloadmariadb-git-366ee3c791ca6b5e7688a5138dfe347860772d2a.tar.gz
Move common functionality (analyze service configuration) into winservice library
Diffstat (limited to 'win/packaging')
-rw-r--r--win/packaging/CMakeLists.txt1
-rw-r--r--win/packaging/ca/CMakeLists.txt3
-rw-r--r--win/packaging/ca/CustomAction.cpp48
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());