summaryrefslogtreecommitdiff
path: root/setup_native/source
diff options
context:
space:
mode:
authorAndras Timar <atimar@suse.com>2013-01-30 13:36:33 +0100
committerAndras Timar <atimar@suse.com>2013-01-30 15:25:07 +0100
commit0701e1ab56dd185fd6fc39012c5a798ca4b77f3f (patch)
treed634e9dfb5d5d3022b9ff2f475aada734bdf2832 /setup_native/source
parentcf4ca992349492019938b68ae33ec9fec7cd5e16 (diff)
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
Diffstat (limited to 'setup_native/source')
-rw-r--r--setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx124
-rw-r--r--setup_native/source/win32/customactions/shellextensions/exports.dxp1
-rw-r--r--setup_native/source/win32/customactions/shellextensions/makefile.mk1
3 files changed, 0 insertions, 126 deletions
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 <cstddef>
-#include <new>
-#include <string.h> // <cstring> not supported by old MSC versions
-
-#define WIN32_LEAN_AND_MEAN
-#if defined _MSC_VER
-#pragma warning(push, 1)
-#endif
-#include <windows.h>
-#include <msiquery.h>
-#include <shellapi.h>
-#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<wchar_t> 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<wchar_t> 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