diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-03-29 19:27:25 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-03-30 21:40:34 +1000 |
commit | 8af9c39dceb6a6ccb55b5a4d76bb71c7c4df133a (patch) | |
tree | b7ddb8c23a36cdfc950c66eb7fba08760f72049b /src/engine/burnextension.cpp | |
parent | 1a0190bd31953a5ffb68cac75866328dccbf03f2 (diff) | |
download | wix-8af9c39dceb6a6ccb55b5a4d76bb71c7c4df133a.tar.gz wix-8af9c39dceb6a6ccb55b5a4d76bb71c7c4df133a.tar.bz2 wix-8af9c39dceb6a6ccb55b5a4d76bb71c7c4df133a.zip |
Help BAs and BundleExtensions find their data file.
Diffstat (limited to 'src/engine/burnextension.cpp')
-rw-r--r-- | src/engine/burnextension.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/engine/burnextension.cpp b/src/engine/burnextension.cpp index 68d34123..59f84eca 100644 --- a/src/engine/burnextension.cpp +++ b/src/engine/burnextension.cpp | |||
@@ -104,6 +104,7 @@ EXTERN_C HRESULT BurnExtensionLoad( | |||
104 | ) | 104 | ) |
105 | { | 105 | { |
106 | HRESULT hr = S_OK; | 106 | HRESULT hr = S_OK; |
107 | LPWSTR sczBundleExtensionDataPath = NULL; | ||
107 | BUNDLE_EXTENSION_CREATE_ARGS args = { }; | 108 | BUNDLE_EXTENSION_CREATE_ARGS args = { }; |
108 | BUNDLE_EXTENSION_CREATE_RESULTS results = { }; | 109 | BUNDLE_EXTENSION_CREATE_RESULTS results = { }; |
109 | 110 | ||
@@ -112,6 +113,9 @@ EXTERN_C HRESULT BurnExtensionLoad( | |||
112 | ExitFunction(); | 113 | ExitFunction(); |
113 | } | 114 | } |
114 | 115 | ||
116 | hr = PathConcat(pEngineContext->pEngineState->userExperience.sczTempDirectory, L"BundleExtensionData.xml", &sczBundleExtensionDataPath); | ||
117 | ExitOnFailure(hr, "Failed to get BundleExtensionDataPath."); | ||
118 | |||
115 | for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i) | 119 | for (DWORD i = 0; i < pBurnExtensions->cExtensions; ++i) |
116 | { | 120 | { |
117 | BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i]; | 121 | BURN_EXTENSION* pExtension = &pBurnExtensions->rgExtensions[i]; |
@@ -123,6 +127,8 @@ EXTERN_C HRESULT BurnExtensionLoad( | |||
123 | args.pfnBundleExtensionEngineProc = EngineForExtensionProc; | 127 | args.pfnBundleExtensionEngineProc = EngineForExtensionProc; |
124 | args.pvBundleExtensionEngineProcContext = pEngineContext; | 128 | args.pvBundleExtensionEngineProcContext = pEngineContext; |
125 | args.qwEngineAPIVersion = MAKEQWORDVERSION(0, 0, 0, 1); // TODO: need to decide whether to keep this, and if so when to update it. | 129 | args.qwEngineAPIVersion = MAKEQWORDVERSION(0, 0, 0, 1); // TODO: need to decide whether to keep this, and if so when to update it. |
130 | args.wzBootstrapperWorkingFolder = pEngineContext->pEngineState->userExperience.sczTempDirectory; | ||
131 | args.wzBundleExtensionDataPath = sczBundleExtensionDataPath; | ||
126 | 132 | ||
127 | results.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_RESULTS); | 133 | results.cbSize = sizeof(BUNDLE_EXTENSION_CREATE_RESULTS); |
128 | 134 | ||
@@ -143,6 +149,8 @@ EXTERN_C HRESULT BurnExtensionLoad( | |||
143 | } | 149 | } |
144 | 150 | ||
145 | LExit: | 151 | LExit: |
152 | ReleaseStr(sczBundleExtensionDataPath); | ||
153 | |||
146 | return hr; | 154 | return hr; |
147 | } | 155 | } |
148 | 156 | ||