1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 BOOL
LaunchWinPostProcess(const WCHAR
*installationDir
,
6 const WCHAR
*updateInfoDir
,
9 BOOL
StartServiceUpdate(LPCWSTR installDir
);
10 BOOL
GetUpdateDirectoryPath(LPWSTR path
);
11 DWORD
LaunchServiceSoftwareUpdateCommand(int argc
, LPCWSTR
*argv
);
12 BOOL
WriteStatusFailure(LPCWSTR updateDirPath
, int errorCode
);
13 BOOL
WriteStatusPending(LPCWSTR updateDirPath
);
14 DWORD
WaitForServiceStop(LPCWSTR serviceName
, DWORD maxWaitSeconds
);
15 DWORD
WaitForProcessExit(LPCWSTR filename
, DWORD maxSeconds
);
16 BOOL
DoesFallbackKeyExist();
17 BOOL
IsLocalFile(LPCWSTR file
, BOOL
&isLocal
);
18 DWORD
StartServiceCommand(int argc
, LPCWSTR
* argv
);
19 BOOL
IsUnpromptedElevation(BOOL
&isUnpromptedElevation
);
21 #define SVC_NAME L"LibreOfficeMaintenance"
23 #define BASE_SERVICE_REG_KEY \
24 L"SOFTWARE\\LibreOffice\\MaintenanceService"
26 // The test only fallback key, as its name implies, is only present on machines
27 // that will use automated tests. Since automated tests always run from a
28 // different directory for each test, the presence of this key bypasses the
29 // "This is a valid installation directory" check. This key also stores
30 // the allowed name and issuer for cert checks so that the cert check
31 // code can still be run unchanged.
32 #define TEST_ONLY_FALLBACK_KEY_PATH \
33 BASE_SERVICE_REG_KEY L"\\3932ecacee736d366d6436db0f55bce4"