aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/logging.cpp
diff options
context:
space:
mode:
authorNir Bar <nir.bar@panel-sw.co.il>2021-08-12 14:16:01 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-08-12 14:50:55 -0500
commitbb18c9c4f0e6da640775b85ebda68b31f2b391ed (patch)
tree5ce6107321293f7af7a0504588e3d0c6642472ff /src/burn/engine/logging.cpp
parent0042e3d4554a0d92e1da6141854b0f1aafa07d5b (diff)
downloadwix-bb18c9c4f0e6da640775b85ebda68b31f2b391ed.tar.gz
wix-bb18c9c4f0e6da640775b85ebda68b31f2b391ed.tar.bz2
wix-bb18c9c4f0e6da640775b85ebda68b31f2b391ed.zip
Set the log file path for MSI transactions.
Diffstat (limited to 'src/burn/engine/logging.cpp')
-rw-r--r--src/burn/engine/logging.cpp35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/burn/engine/logging.cpp b/src/burn/engine/logging.cpp
index 9aaf60ed..33295acd 100644
--- a/src/burn/engine/logging.cpp
+++ b/src/burn/engine/logging.cpp
@@ -242,11 +242,6 @@ extern "C" HRESULT LoggingSetPackageVariable(
242 // Make sure that no package log files are created when logging has been disabled via Log element. 242 // Make sure that no package log files are created when logging has been disabled via Log element.
243 if (BURN_LOGGING_STATE_DISABLED == pLog->state) 243 if (BURN_LOGGING_STATE_DISABLED == pLog->state)
244 { 244 {
245 if (psczLogPath)
246 {
247 *psczLogPath = NULL;
248 }
249
250 ExitFunction(); 245 ExitFunction();
251 } 246 }
252 247
@@ -272,6 +267,36 @@ LExit:
272 return hr; 267 return hr;
273} 268}
274 269
270extern "C" HRESULT LoggingSetTransactionVariable(
271 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary,
272 __in_z_opt LPCWSTR wzSuffix,
273 __in BURN_LOGGING* pLog,
274 __in BURN_VARIABLES* pVariables
275 )
276{
277 HRESULT hr = S_OK;
278
279 // Make sure that no log files are created when logging has been disabled via Log element.
280 if (BURN_LOGGING_STATE_DISABLED == pLog->state)
281 {
282 ExitFunction();
283 }
284
285 if (pRollbackBoundary && pRollbackBoundary->sczLogPathVariable && *pRollbackBoundary->sczLogPathVariable)
286 {
287 hr = StrAllocFormatted(&pRollbackBoundary->sczLogPath, L"%ls%hs%ls_%03u_%ls.%ls", pLog->sczPrefix, wzSuffix && *wzSuffix ? "_" : "", wzSuffix && *wzSuffix ? wzSuffix : L"", vdwPackageSequence, pRollbackBoundary->sczId, pLog->sczExtension);
288 ExitOnFailure(hr, "Failed to allocate path for transaction log.");
289
290 hr = VariableSetString(pVariables, pRollbackBoundary->sczLogPathVariable, pRollbackBoundary->sczLogPath, FALSE, FALSE);
291 ExitOnFailure(hr, "Failed to set log path into variable.");
292 }
293
294LExit:
295 ++vdwPackageSequence;
296
297 return hr;
298}
299
275extern "C" LPCSTR LoggingBurnActionToString( 300extern "C" LPCSTR LoggingBurnActionToString(
276 __in BOOTSTRAPPER_ACTION action 301 __in BOOTSTRAPPER_ACTION action
277 ) 302 )