From 0701e1ab56dd185fd6fc39012c5a798ca4b77f3f Mon Sep 17 00:00:00 2001 From: Andras Timar Date: Wed, 30 Jan 2013 13:36:33 +0100 Subject: remove CopyEditionData CustomAction It is not entirely clear what this CustomAction was supposed to do, but program\edition directory is not present in LibreOffice, therefore this feature is useless. Change-Id: Icfcd9c5f88da28e171329d951956baaa42908fd0 --- .../shellextensions/copyeditiondata.cxx | 124 --------------------- .../customactions/shellextensions/exports.dxp | 1 - .../customactions/shellextensions/makefile.mk | 1 - 3 files changed, 126 deletions(-) delete mode 100644 setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx (limited to 'setup_native/source/win32/customactions') diff --git a/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx b/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx deleted file mode 100644 index 0934c5690cb1..000000000000 --- a/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#include "sal/config.h" - -#include -#include -#include // not supported by old MSC versions - -#define WIN32_LEAN_AND_MEAN -#if defined _MSC_VER -#pragma warning(push, 1) -#endif -#include -#include -#include -#if defined _MSC_VER -#pragma warning(pop) -#endif - -#include "boost/scoped_array.hpp" - -#define LCL_LENGTH0(s) (sizeof (s) / sizeof *(s)) -#define LCL_STRING0(s) (s), LCL_LENGTH0(s) - -namespace { - -enum Status { STATUS_NO, STATUS_YES, STATUS_ERROR }; - -Status fileExists(wchar_t const * path) { - return GetFileAttributesW(path) == INVALID_FILE_ATTRIBUTES - ? GetLastError() == ERROR_FILE_NOT_FOUND ? STATUS_NO : STATUS_ERROR - : STATUS_YES; -} - -wchar_t * getProperty( - MSIHANDLE install, wchar_t const * name, wchar_t const * suffix, - std::size_t suffixLength, wchar_t ** end = NULL) -{ - DWORD n = 0; - UINT err = MsiGetPropertyW(install, name, L"", &n); - if (err != ERROR_SUCCESS && err != ERROR_MORE_DATA) { - return NULL; - } - DWORD n2 = n + suffixLength; //TODO: overflow - wchar_t * data = new(std::nothrow) wchar_t[n2]; - if (data == NULL) { - return NULL; - } - if (MsiGetPropertyW(install, name, data, &n2) != ERROR_SUCCESS || n2 != n) { - delete[] data; - return NULL; - } - memcpy(data + n, suffix, suffixLength * sizeof (wchar_t)); //TODO: overflow - if (end != NULL) { - *end = data + n + suffixLength; - } - return data; -} - -} - -extern "C" UINT __stdcall copyEditionData(MSIHANDLE install) { - boost::scoped_array from( - getProperty(install, L"SourceDir", LCL_STRING0(L"edition\0"))); - if (!from) { - return ERROR_INSTALL_FAILURE; - } - Status stat = fileExists(from.get()); - if (stat == STATUS_ERROR) { - return ERROR_INSTALL_FAILURE; - } - if (stat == STATUS_NO) { - return ERROR_SUCCESS; - } - wchar_t * end; - boost::scoped_array to( - getProperty( - install, L"INSTALLLOCATION", - LCL_STRING0(L"program\\edition\0"), &end)); - if (!to) { - return ERROR_INSTALL_FAILURE; - } - stat = fileExists(to.get()); - if (stat == STATUS_ERROR) { - return ERROR_INSTALL_FAILURE; - } - if (stat == STATUS_YES) { - SHFILEOPSTRUCTW opDelete = { - NULL, FO_DELETE, to.get(), NULL, FOF_NOCONFIRMATION | FOF_SILENT, - FALSE, NULL, NULL }; //TODO: non-NULL hwnd - if (SHFileOperationW(&opDelete) != 0) { - return ERROR_INSTALL_FAILURE; - } - } - *(end - LCL_LENGTH0(L"\\edition\0")) = L'\0'; - *(end - LCL_LENGTH0(L"\\edition\0") + 1) = L'\0'; - SHFILEOPSTRUCTW opCopy = { - NULL, FO_COPY, from.get(), to.get(), - FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_SILENT, FALSE, NULL, - NULL }; //TODO: non-NULL hwnd - if (SHFileOperationW(&opCopy) != 0) { - return ERROR_INSTALL_FAILURE; - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/exports.dxp b/setup_native/source/win32/customactions/shellextensions/exports.dxp index 9b2644638fb8..59a8b3bf34c1 100644 --- a/setup_native/source/win32/customactions/shellextensions/exports.dxp +++ b/setup_native/source/win32/customactions/shellextensions/exports.dxp @@ -7,7 +7,6 @@ MigrateInstallPath CheckInstallDirectory CreateLayerLinks RemoveLayerLinks -copyEditionData RenamePrgFolder RemovePrgFolder CheckPatchList diff --git a/setup_native/source/win32/customactions/shellextensions/makefile.mk b/setup_native/source/win32/customactions/shellextensions/makefile.mk index 880ebc7ef6d0..93b9888ab193 100644 --- a/setup_native/source/win32/customactions/shellextensions/makefile.mk +++ b/setup_native/source/win32/customactions/shellextensions/makefile.mk @@ -44,7 +44,6 @@ SLOFILES = \ $(SLO)$/completeinstallpath.obj \ $(SLO)$/checkdirectory.obj \ $(SLO)$/layerlinks.obj \ - $(SLO)$/copyeditiondata.obj \ $(SLO)$/vistaspecial.obj \ $(SLO)$/checkpatches.obj -- cgit v1.2.3