Move Burn headers from BootstrapperCore repo.

This commit is contained in:
Sean Hall 2020-07-18 16:48:54 +10:00
Родитель 6d763d9c86
Коммит 655a166adb
14 изменённых файлов: 1788 добавлений и 16 удалений

Просмотреть файл

@ -6,6 +6,7 @@ nuget restore || exit /b
msbuild -p:Configuration=Release;Platform=x86 || exit /b msbuild -p:Configuration=Release;Platform=x86 || exit /b
msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj || exit /b msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj || exit /b
msbuild -p:Configuration=Release -t:Pack src\WixToolset.BootstrapperCore.Native\WixToolset.BootstrapperCore.Native.proj || exit /b
@popd @popd
@endlocal @endlocal

Просмотреть файл

@ -3,7 +3,6 @@
<packageSources> <packageSources>
<clear /> <clear />
<add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" /> <add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" />
<add key="wixtoolset-bootstrappercore" value="https://ci.appveyor.com/nuget/wixtoolset-bootstrappercore" />
<add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" /> <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" />
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources> </packageSources>

Просмотреть файл

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>WiX Toolset Team</authors>
<owners>WiX Toolset Team</owners>
<license type="expression">MS-RL</license>
<projectUrl>https://github.com/wixtoolset/BootstrapperCore</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
<copyright>$copyright$</copyright>
</metadata>
<files>
<file src="build\$id$.props" target="build\" />
<file src="inc\*" target="build\native\include" />
</files>
</package>

Просмотреть файл

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project ToolsVersion="4.0" DefaultTargets="Pack" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PackageId>WixToolset.BootstrapperCore.Native</PackageId>
<Description>WiX Bootstrapper native interfaces</Description>
</PropertyGroup>
<Target Name="Pack" DependsOnTargets="GetBuildVersion">
<Exec Command='nuget pack $(PackageId).nuspec -OutputDirectory "$(BaseOutputPath)$(Configuration)" -Properties Id=$(PackageId);Version="$(BuildVersionSimple)";Authors="$(Authors)";Copyright="$(Copyright)";Description="$(Description)"' />
</Target>
<Import Project="..\Directory.Build.props" />
<Import Project="..\Directory.Build.targets" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets')" />
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)native\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
</Project>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,430 @@
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
#if defined(__cplusplus)
extern "C" {
#endif
#define IDERROR -1
#define IDNOACTION 0
#ifndef FACILITY_WIX
#define FACILITY_WIX 500
#endif
static const HRESULT E_SUSPECTED_AV_INTERFERENCE = MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIX, 2000);
// Note that ordering of the enumeration values is important.
// Some code paths use < or > comparisions and simply reording values will break those comparisons.
enum BOOTSTRAPPER_ACTION
{
BOOTSTRAPPER_ACTION_UNKNOWN,
BOOTSTRAPPER_ACTION_HELP,
BOOTSTRAPPER_ACTION_LAYOUT,
BOOTSTRAPPER_ACTION_UNINSTALL,
BOOTSTRAPPER_ACTION_CACHE,
BOOTSTRAPPER_ACTION_INSTALL,
BOOTSTRAPPER_ACTION_MODIFY,
BOOTSTRAPPER_ACTION_REPAIR,
BOOTSTRAPPER_ACTION_UPDATE_REPLACE,
BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED,
};
enum BOOTSTRAPPER_ACTION_STATE
{
BOOTSTRAPPER_ACTION_STATE_NONE,
BOOTSTRAPPER_ACTION_STATE_UNINSTALL,
BOOTSTRAPPER_ACTION_STATE_INSTALL,
BOOTSTRAPPER_ACTION_STATE_ADMIN_INSTALL,
BOOTSTRAPPER_ACTION_STATE_MODIFY,
BOOTSTRAPPER_ACTION_STATE_REPAIR,
BOOTSTRAPPER_ACTION_STATE_MINOR_UPGRADE,
BOOTSTRAPPER_ACTION_STATE_MAJOR_UPGRADE,
BOOTSTRAPPER_ACTION_STATE_PATCH,
};
enum BOOTSTRAPPER_PACKAGE_STATE
{
BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN,
BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE,
BOOTSTRAPPER_PACKAGE_STATE_ABSENT,
BOOTSTRAPPER_PACKAGE_STATE_CACHED,
BOOTSTRAPPER_PACKAGE_STATE_PRESENT,
BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED,
};
enum BOOTSTRAPPER_REQUEST_STATE
{
BOOTSTRAPPER_REQUEST_STATE_NONE,
BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT,
BOOTSTRAPPER_REQUEST_STATE_ABSENT,
BOOTSTRAPPER_REQUEST_STATE_CACHE,
BOOTSTRAPPER_REQUEST_STATE_PRESENT,
BOOTSTRAPPER_REQUEST_STATE_REPAIR,
};
enum BOOTSTRAPPER_FEATURE_STATE
{
BOOTSTRAPPER_FEATURE_STATE_UNKNOWN,
BOOTSTRAPPER_FEATURE_STATE_ABSENT,
BOOTSTRAPPER_FEATURE_STATE_ADVERTISED,
BOOTSTRAPPER_FEATURE_STATE_LOCAL,
BOOTSTRAPPER_FEATURE_STATE_SOURCE,
};
enum BOOTSTRAPPER_FEATURE_ACTION
{
BOOTSTRAPPER_FEATURE_ACTION_NONE,
BOOTSTRAPPER_FEATURE_ACTION_ADDLOCAL,
BOOTSTRAPPER_FEATURE_ACTION_ADDSOURCE,
BOOTSTRAPPER_FEATURE_ACTION_ADDDEFAULT,
BOOTSTRAPPER_FEATURE_ACTION_REINSTALL,
BOOTSTRAPPER_FEATURE_ACTION_ADVERTISE,
BOOTSTRAPPER_FEATURE_ACTION_REMOVE,
};
enum BOOTSTRAPPER_LOG_LEVEL
{
BOOTSTRAPPER_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
BOOTSTRAPPER_LOG_LEVEL_STANDARD, // written if reporting is on
BOOTSTRAPPER_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
BOOTSTRAPPER_LOG_LEVEL_DEBUG, // reporting useful when debugging code
BOOTSTRAPPER_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
};
enum BOOTSTRAPPER_UPDATE_HASH_TYPE
{
BOOTSTRAPPER_UPDATE_HASH_TYPE_NONE,
BOOTSTRAPPER_UPDATE_HASH_TYPE_SHA1,
};
enum BOOTSTRAPPER_ENGINE_MESSAGE
{
BOOTSTRAPPER_ENGINE_MESSAGE_GETPACKAGECOUNT,
BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLENUMERIC,
BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLESTRING,
BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLEVERSION,
BOOTSTRAPPER_ENGINE_MESSAGE_FORMATSTRING,
BOOTSTRAPPER_ENGINE_MESSAGE_ESCAPESTRING,
BOOTSTRAPPER_ENGINE_MESSAGE_EVALUATECONDITION,
BOOTSTRAPPER_ENGINE_MESSAGE_LOG,
BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDERROR,
BOOTSTRAPPER_ENGINE_MESSAGE_SENDEMBEDDEDPROGRESS,
BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATE,
BOOTSTRAPPER_ENGINE_MESSAGE_SETLOCALSOURCE,
BOOTSTRAPPER_ENGINE_MESSAGE_SETDOWNLOADSOURCE,
BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLENUMERIC,
BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLESTRING,
BOOTSTRAPPER_ENGINE_MESSAGE_SETVARIABLEVERSION,
BOOTSTRAPPER_ENGINE_MESSAGE_CLOSESPLASHSCREEN,
BOOTSTRAPPER_ENGINE_MESSAGE_DETECT,
BOOTSTRAPPER_ENGINE_MESSAGE_PLAN,
BOOTSTRAPPER_ENGINE_MESSAGE_ELEVATE,
BOOTSTRAPPER_ENGINE_MESSAGE_APPLY,
BOOTSTRAPPER_ENGINE_MESSAGE_QUIT,
BOOTSTRAPPER_ENGINE_MESSAGE_LAUNCHAPPROVEDEXE,
};
typedef struct _BAENGINE_APPLY_ARGS
{
DWORD cbSize;
HWND hwndParent;
} BAENGINE_APPLY_ARGS;
typedef struct _BAENGINE_APPLY_RESULTS
{
DWORD cbSize;
} BAENGINE_APPLY_RESULTS;
typedef struct _BAENGINE_CLOSESPLASHSCREEN_ARGS
{
DWORD cbSize;
} BAENGINE_CLOSESPLASHSCREEN_ARGS;
typedef struct _BAENGINE_CLOSESPLASHSCREEN_RESULTS
{
DWORD cbSize;
} BAENGINE_CLOSESPLASHSCREEN_RESULTS;
typedef struct _BAENGINE_DETECT_ARGS
{
DWORD cbSize;
HWND hwndParent;
} BAENGINE_DETECT_ARGS;
typedef struct _BAENGINE_DETECT_RESULTS
{
DWORD cbSize;
} BAENGINE_DETECT_RESULTS;
typedef struct _BAENGINE_ELEVATE_ARGS
{
DWORD cbSize;
HWND hwndParent;
} BAENGINE_ELEVATE_ARGS;
typedef struct _BAENGINE_ELEVATE_RESULTS
{
DWORD cbSize;
} BAENGINE_ELEVATE_RESULTS;
typedef struct _BAENGINE_ESCAPESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzIn;
} BAENGINE_ESCAPESTRING_ARGS;
typedef struct _BAENGINE_ESCAPESTRING_RESULTS
{
DWORD cbSize;
LPWSTR wzOut;
// Should be initialized to the size of wzOut.
DWORD cchOut;
} BAENGINE_ESCAPESTRING_RESULTS;
typedef struct _BAENGINE_EVALUATECONDITION_ARGS
{
DWORD cbSize;
LPCWSTR wzCondition;
} BAENGINE_EVALUATECONDITION_ARGS;
typedef struct _BAENGINE_EVALUATECONDITION_RESULTS
{
DWORD cbSize;
BOOL f;
} BAENGINE_EVALUATECONDITION_RESULTS;
typedef struct _BAENGINE_FORMATSTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzIn;
} BAENGINE_FORMATSTRING_ARGS;
typedef struct _BAENGINE_FORMATSTRING_RESULTS
{
DWORD cbSize;
// The contents of wzOut may be sensitive, should keep encrypted and SecureZeroFree.
LPWSTR wzOut;
// Should be initialized to the size of wzOut.
DWORD cchOut;
} BAENGINE_FORMATSTRING_RESULTS;
typedef struct _BAENGINE_GETPACKAGECOUNT_ARGS
{
DWORD cbSize;
} BAENGINE_GETPACKAGECOUNT_ARGS;
typedef struct _BAENGINE_GETPACKAGECOUNT_RESULTS
{
DWORD cbSize;
DWORD cPackages;
} BAENGINE_GETPACKAGECOUNT_RESULTS;
typedef struct _BAENGINE_GETVARIABLENUMERIC_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BAENGINE_GETVARIABLENUMERIC_ARGS;
typedef struct _BAENGINE_GETVARIABLENUMERIC_RESULTS
{
DWORD cbSize;
// The contents of llValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
LONGLONG llValue;
} BAENGINE_GETVARIABLENUMERIC_RESULTS;
typedef struct _BAENGINE_GETVARIABLESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BAENGINE_GETVARIABLESTRING_ARGS;
typedef struct _BAENGINE_GETVARIABLESTRING_RESULTS
{
DWORD cbSize;
// The contents of wzValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroFree.
LPWSTR wzValue;
// Should be initialized to the size of wzValue.
DWORD cchValue;
} BAENGINE_GETVARIABLESTRING_RESULTS;
typedef struct _BAENGINE_GETVARIABLEVERSION_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BAENGINE_GETVARIABLEVERSION_ARGS;
typedef struct _BAENGINE_GETVARIABLEVERSION_RESULTS
{
DWORD cbSize;
// The contents of qwValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
DWORD64 qwValue;
} BAENGINE_GETVARIABLEVERSION_RESULTS;
typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS
{
DWORD cbSize;
HWND hwndParent;
LPCWSTR wzApprovedExeForElevationId;
LPCWSTR wzArguments;
DWORD dwWaitForInputIdleTimeout;
} BAENGINE_LAUNCHAPPROVEDEXE_ARGS;
typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_RESULTS
{
DWORD cbSize;
} BAENGINE_LAUNCHAPPROVEDEXE_RESULTS;
typedef struct _BAENGINE_LOG_ARGS
{
DWORD cbSize;
BOOTSTRAPPER_LOG_LEVEL level;
LPCWSTR wzMessage;
} BAENGINE_LOG_ARGS;
typedef struct _BAENGINE_LOG_RESULTS
{
DWORD cbSize;
} BAENGINE_LOG_RESULTS;
typedef struct _BAENGINE_PLAN_ARGS
{
DWORD cbSize;
BOOTSTRAPPER_ACTION action;
} BAENGINE_PLAN_ARGS;
typedef struct _BAENGINE_PLAN_RESULTS
{
DWORD cbSize;
} BAENGINE_PLAN_RESULTS;
typedef struct _BAENGINE_QUIT_ARGS
{
DWORD cbSize;
DWORD dwExitCode;
} BAENGINE_QUIT_ARGS;
typedef struct _BAENGINE_QUIT_RESULTS
{
DWORD cbSize;
} BAENGINE_QUIT_RESULTS;
typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS
{
DWORD cbSize;
DWORD dwErrorCode;
LPCWSTR wzMessage;
DWORD dwUIHint;
} BAENGINE_SENDEMBEDDEDERROR_ARGS;
typedef struct _BAENGINE_SENDEMBEDDEDERROR_RESULTS
{
DWORD cbSize;
int nResult;
} BAENGINE_SENDEMBEDDEDERROR_RESULTS;
typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_ARGS
{
DWORD cbSize;
DWORD dwProgressPercentage;
DWORD dwOverallProgressPercentage;
} BAENGINE_SENDEMBEDDEDPROGRESS_ARGS;
typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS
{
DWORD cbSize;
int nResult;
} BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS;
typedef struct _BAENGINE_SETDOWNLOADSOURCE_ARGS
{
DWORD cbSize;
LPCWSTR wzPackageOrContainerId;
LPCWSTR wzPayloadId;
LPCWSTR wzUrl;
LPCWSTR wzUser;
LPCWSTR wzPassword;
} BAENGINE_SETDOWNLOADSOURCE_ARGS;
typedef struct _BAENGINE_SETDOWNLOADSOURCE_RESULTS
{
DWORD cbSize;
} BAENGINE_SETDOWNLOADSOURCE_RESULTS;
typedef struct _BAENGINE_SETLOCALSOURCE_ARGS
{
DWORD cbSize;
LPCWSTR wzPackageOrContainerId;
LPCWSTR wzPayloadId;
LPCWSTR wzPath;
} BAENGINE_SETLOCALSOURCE_ARGS;
typedef struct _BAENGINE_SETLOCALSOURCE_RESULTS
{
DWORD cbSize;
} BAENGINE_SETLOCALSOURCE_RESULTS;
typedef struct _BAENGINE_SETUPDATE_ARGS
{
DWORD cbSize;
LPCWSTR wzLocalSource;
LPCWSTR wzDownloadSource;
DWORD64 qwSize;
BOOTSTRAPPER_UPDATE_HASH_TYPE hashType;
BYTE* rgbHash;
DWORD cbHash;
} BAENGINE_SETUPDATE_ARGS;
typedef struct _BAENGINE_SETUPDATE_RESULTS
{
DWORD cbSize;
} BAENGINE_SETUPDATE_RESULTS;
typedef struct _BAENGINE_SETVARIABLENUMERIC_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
LONGLONG llValue;
} BAENGINE_SETVARIABLENUMERIC_ARGS;
typedef struct _BAENGINE_SETVARIABLENUMERIC_RESULTS
{
DWORD cbSize;
} BAENGINE_SETVARIABLENUMERIC_RESULTS;
typedef struct _BAENGINE_SETVARIABLESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
LPCWSTR wzValue;
} BAENGINE_SETVARIABLESTRING_ARGS;
typedef struct _BAENGINE_SETVARIABLESTRING_RESULTS
{
DWORD cbSize;
} BAENGINE_SETVARIABLESTRING_RESULTS;
typedef struct _BAENGINE_SETVARIABLEVERSION_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
DWORD64 qwValue;
} BAENGINE_SETVARIABLEVERSION_ARGS;
typedef struct _BAENGINE_SETVARIABLEVERSION_RESULTS
{
DWORD cbSize;
} BAENGINE_SETVARIABLEVERSION_RESULTS;
extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_ENGINE_PROC)(
__in BOOTSTRAPPER_ENGINE_MESSAGE message,
__in const LPVOID pvArgs,
__inout LPVOID pvResults,
__in_opt LPVOID pvContext
);
#if defined(__cplusplus)
}
#endif

Просмотреть файл

@ -0,0 +1,59 @@
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
#if defined(__cplusplus)
extern "C" {
#endif
enum BUNDLE_EXTENSION_MESSAGE
{
BUNDLE_EXTENSION_MESSAGE_SEARCH,
};
typedef struct _BUNDLE_EXTENSION_SEARCH_ARGS
{
DWORD cbSize;
LPCWSTR wzId;
LPCWSTR wzVariable;
} BUNDLE_EXTENSION_SEARCH_ARGS;
typedef struct _BUNDLE_EXTENSION_SEARCH_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_SEARCH_RESULTS;
extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_PROC)(
__in BUNDLE_EXTENSION_MESSAGE message,
__in const LPVOID pvArgs,
__inout LPVOID pvResults,
__in_opt LPVOID pvContext
);
typedef struct _BUNDLE_EXTENSION_CREATE_ARGS
{
DWORD cbSize;
DWORD64 qwEngineAPIVersion;
PFN_BUNDLE_EXTENSION_ENGINE_PROC pfnBundleExtensionEngineProc;
LPVOID pvBundleExtensionEngineProcContext;
LPCWSTR wzBootstrapperWorkingFolder;
LPCWSTR wzBundleExtensionDataPath;
} BUNDLE_EXTENSION_CREATE_ARGS;
typedef struct _BUNDLE_EXTENSION_CREATE_RESULTS
{
DWORD cbSize;
PFN_BUNDLE_EXTENSION_PROC pfnBundleExtensionProc;
LPVOID pvBundleExtensionProcContext;
} BUNDLE_EXTENSION_CREATE_RESULTS;
extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_CREATE)(
__in const BUNDLE_EXTENSION_CREATE_ARGS* pArgs,
__inout BUNDLE_EXTENSION_CREATE_RESULTS* pResults
);
extern "C" typedef void (WINAPI *PFN_BUNDLE_EXTENSION_DESTROY)();
#if defined(__cplusplus)
}
#endif

Просмотреть файл

@ -0,0 +1,184 @@
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
#if defined(__cplusplus)
extern "C" {
#endif
enum BUNDLE_EXTENSION_LOG_LEVEL
{
BUNDLE_EXTENSION_LOG_LEVEL_NONE, // turns off report (only valid for XXXSetLevel())
BUNDLE_EXTENSION_LOG_LEVEL_STANDARD, // written if reporting is on
BUNDLE_EXTENSION_LOG_LEVEL_VERBOSE, // written only if verbose reporting is on
BUNDLE_EXTENSION_LOG_LEVEL_DEBUG, // reporting useful when debugging code
BUNDLE_EXTENSION_LOG_LEVEL_ERROR, // always gets reported, but can never be specified
};
enum BUNDLE_EXTENSION_ENGINE_MESSAGE
{
BUNDLE_EXTENSION_ENGINE_MESSAGE_ESCAPESTRING,
BUNDLE_EXTENSION_ENGINE_MESSAGE_EVALUATECONDITION,
BUNDLE_EXTENSION_ENGINE_MESSAGE_FORMATSTRING,
BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLENUMERIC,
BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLESTRING,
BUNDLE_EXTENSION_ENGINE_MESSAGE_GETVARIABLEVERSION,
BUNDLE_EXTENSION_ENGINE_MESSAGE_LOG,
BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLELITERALSTRING,
BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLENUMERIC,
BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLESTRING,
BUNDLE_EXTENSION_ENGINE_MESSAGE_SETVARIABLEVERSION,
};
typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzIn;
} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS
{
DWORD cbSize;
LPWSTR wzOut;
// Should be initialized to the size of wzOut.
DWORD cchOut;
} BUNDLE_EXTENSION_ENGINE_ESCAPESTRING_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS
{
DWORD cbSize;
LPCWSTR wzCondition;
} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS
{
DWORD cbSize;
BOOL f;
} BUNDLE_EXTENSION_ENGINE_EVALUATECONDITION_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzIn;
} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS
{
DWORD cbSize;
// The contents of wzOut may be sensitive, should keep encrypted and SecureZeroFree.
LPWSTR wzOut;
// Should be initialized to the size of wzOut.
DWORD cchOut;
} BUNDLE_EXTENSION_ENGINE_FORMATSTRING_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS
{
DWORD cbSize;
// The contents of llValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
LONGLONG llValue;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLENUMERIC_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS
{
DWORD cbSize;
// The contents of wzValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroFree.
LPWSTR wzValue;
// Should be initialized to the size of wzValue.
DWORD cchValue;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLESTRING_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS
{
DWORD cbSize;
// The contents of qwValue may be sensitive, if variable is hidden should keep value encrypted and SecureZeroMemory.
DWORD64 qwValue;
} BUNDLE_EXTENSION_ENGINE_GETVARIABLEVERSION_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_ARGS
{
DWORD cbSize;
BUNDLE_EXTENSION_LOG_LEVEL level;
LPCWSTR wzMessage;
} BUNDLE_EXTENSION_ENGINE_LOG_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_LOG_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_ENGINE_LOG_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
LPCWSTR wzValue;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLELITERALSTRING_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
LONGLONG llValue;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLENUMERIC_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
LPCWSTR wzValue;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLESTRING_RESULTS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS
{
DWORD cbSize;
LPCWSTR wzVariable;
DWORD64 qwValue;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_ARGS;
typedef struct _BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS
{
DWORD cbSize;
} BUNDLE_EXTENSION_ENGINE_SETVARIABLEVERSION_RESULTS;
extern "C" typedef HRESULT(WINAPI *PFN_BUNDLE_EXTENSION_ENGINE_PROC)(
__in BUNDLE_EXTENSION_ENGINE_MESSAGE message,
__in const LPVOID pvArgs,
__inout LPVOID pvResults,
__in_opt LPVOID pvContext
);
#if defined(__cplusplus)
}
#endif

Просмотреть файл

@ -2,7 +2,6 @@
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
<Import Project="..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" /> <Import Project="..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" />
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
@ -42,10 +41,6 @@
<ImportGroup Label="Shared"> <ImportGroup Label="Shared">
</ImportGroup> </ImportGroup>
<PropertyGroup>
<ProjectAdditionalIncludeDirectories>$(ProjectDir)..\inc</ProjectAdditionalIncludeDirectories>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="apply.cpp" /> <ClCompile Include="apply.cpp" />
<ClCompile Include="approvedexe.cpp" /> <ClCompile Include="approvedexe.cpp" />
@ -96,6 +91,10 @@
<ClInclude Include="apply.h" /> <ClInclude Include="apply.h" />
<ClInclude Include="approvedexe.h" /> <ClInclude Include="approvedexe.h" />
<ClInclude Include="bitsengine.h" /> <ClInclude Include="bitsengine.h" />
<ClInclude Include="..\WixToolset.BootstrapperCore.Native\inc\BootstrapperApplication.h" />
<ClInclude Include="..\WixToolset.BootstrapperCore.Native\inc\BootstrapperEngine.h" />
<ClInclude Include="..\WixToolset.BootstrapperCore.Native\inc\BundleExtension.h" />
<ClInclude Include="..\WixToolset.BootstrapperCore.Native\inc\BundleExtensionEngine.h" />
<ClInclude Include="burnextension.h" /> <ClInclude Include="burnextension.h" />
<ClInclude Include="cabextract.h" /> <ClInclude Include="cabextract.h" />
<ClInclude Include="cache.h" /> <ClInclude Include="cache.h" />
@ -166,7 +165,6 @@ rc.exe -fo "$(OutDir)engine.res" "$(IntDir)engine.messages.rc"</Command>
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props'))" /> <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props'))" />
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets'))" /> <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.1.91\build\Nerdbank.GitVersioning.targets'))" />
</Target> </Target>

Просмотреть файл

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Nerdbank.GitVersioning" version="3.1.91" targetFramework="native" developmentDependency="true" /> <package id="Nerdbank.GitVersioning" version="3.1.91" targetFramework="native" developmentDependency="true" />
<package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
<package id="WixToolset.DUtil" version="4.0.45" targetFramework="native" /> <package id="WixToolset.DUtil" version="4.0.45" targetFramework="native" />
</packages> </packages>

Просмотреть файл

@ -61,10 +61,10 @@
#include <atomutil.h> #include <atomutil.h>
#include <apuputil.h> #include <apuputil.h>
#include "BootstrapperEngine.h" #include "..\WixToolset.BootstrapperCore.Native\inc\BootstrapperEngine.h"
#include "BootstrapperApplication.h" #include "..\WixToolset.BootstrapperCore.Native\inc\BootstrapperApplication.h"
#include "BundleExtensionEngine.h" #include "..\WixToolset.BootstrapperCore.Native\inc\BundleExtensionEngine.h"
#include "BundleExtension.h" #include "..\WixToolset.BootstrapperCore.Native\inc\BundleExtension.h"
#include "platform.h" #include "platform.h"
#include "variant.h" #include "variant.h"

Просмотреть файл

@ -4,7 +4,6 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" /> <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" />
<Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
<Import Project="..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" /> <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" />
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
@ -28,7 +27,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup> <PropertyGroup>
<ProjectAdditionalIncludeDirectories>..\..\engine</ProjectAdditionalIncludeDirectories> <ProjectAdditionalIncludeDirectories>..\..\engine;..\..\WixToolset.BootstrapperCore.Native\inc</ProjectAdditionalIncludeDirectories>
<ProjectAdditionalLinkLibraries>cabinet.lib;crypt32.lib;msi.lib;rpcrt4.lib;shlwapi.lib;wininet.lib;wintrust.lib;gdiplus.lib</ProjectAdditionalLinkLibraries> <ProjectAdditionalLinkLibraries>cabinet.lib;crypt32.lib;msi.lib;rpcrt4.lib;shlwapi.lib;wininet.lib;wintrust.lib;gdiplus.lib</ProjectAdditionalLinkLibraries>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@ -81,7 +80,6 @@
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props'))" /> <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props'))" />
<Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets'))" /> <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets'))" />
<Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
<Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props'))" /> <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.45\build\WixToolset.DUtil.props'))" />
</Target> </Target>
</Project> </Project>

Просмотреть файл

@ -9,6 +9,5 @@
<package id="xunit.runner.visualstudio" version="2.4.1" /> <package id="xunit.runner.visualstudio" version="2.4.1" />
<package id="WixBuildTools.TestSupport" version="4.0.40" /> <package id="WixBuildTools.TestSupport" version="4.0.40" />
<package id="WixBuildTools.TestSupport.Native" version="4.0.40" /> <package id="WixBuildTools.TestSupport.Native" version="4.0.40" />
<package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
<package id="WixToolset.DUtil" version="4.0.45" targetFramework="native" /> <package id="WixToolset.DUtil" version="4.0.45" targetFramework="native" />
</packages> </packages>