diff options
| author | Rob Mensching <rob@firegiant.com> | 2024-04-04 15:24:34 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2024-04-05 09:46:43 -0700 |
| commit | 681cf4a9eb6be7e4092c6e5b690773fbd8469e63 (patch) | |
| tree | 1ff50c7856c83bf930a0cbb4f52d5e1b5cbc016f /src/test | |
| parent | 6ed045ee1fe69be037a999df2e57122a25f0dedf (diff) | |
| download | wix-681cf4a9eb6be7e4092c6e5b690773fbd8469e63.tar.gz wix-681cf4a9eb6be7e4092c6e5b690773fbd8469e63.tar.bz2 wix-681cf4a9eb6be7e4092c6e5b690773fbd8469e63.zip | |
Ensure elevated SFXCA uses Windows Installer cache and unelevated uses Temp folder
Fixes 8078
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/msi/TestData/CustomActionTests/ManagedCustomActions/Package.wxs | 6 | ||||
| -rw-r--r-- | src/test/msi/TestData/CustomActionTests/TestCA/CustomAction.cs | 38 |
2 files changed, 43 insertions, 1 deletions
diff --git a/src/test/msi/TestData/CustomActionTests/ManagedCustomActions/Package.wxs b/src/test/msi/TestData/CustomActionTests/ManagedCustomActions/Package.wxs index 9b1d224a..4159cd3e 100644 --- a/src/test/msi/TestData/CustomActionTests/ManagedCustomActions/Package.wxs +++ b/src/test/msi/TestData/CustomActionTests/ManagedCustomActions/Package.wxs | |||
| @@ -13,13 +13,17 @@ | |||
| 13 | <Binary Id="ManagedCA" SourceFile="TestCA.CA.dll" /> | 13 | <Binary Id="ManagedCA" SourceFile="TestCA.CA.dll" /> |
| 14 | 14 | ||
| 15 | <CustomAction Id="ImmediateCA" BinaryRef="ManagedCA" DllEntry="ImmediateCA" Execute="immediate" Return="check" /> | 15 | <CustomAction Id="ImmediateCA" BinaryRef="ManagedCA" DllEntry="ImmediateCA" Execute="immediate" Return="check" /> |
| 16 | <CustomAction Id="DeferredCA" BinaryRef="ManagedCA" DllEntry="DeferredCA" Execute="deferred" Return="check" /> | 16 | <CustomAction Id="ExecuteImmediateCA" BinaryRef="ManagedCA" DllEntry="ExecuteImmediateCA" Execute="immediate" Return="check" /> |
| 17 | <CustomAction Id="ImpersonatedDeferredCA" BinaryRef="ManagedCA" DllEntry="ImpersonatedDeferredCA" Execute="deferred" Impersonate="yes" Return="check" /> | ||
| 18 | <CustomAction Id="DeferredCA" BinaryRef="ManagedCA" DllEntry="DeferredCA" Execute="deferred" Impersonate="no" Return="check" /> | ||
| 17 | 19 | ||
| 18 | <InstallUISequence> | 20 | <InstallUISequence> |
| 19 | <Custom Action="ImmediateCA" Before="CostFinalize" /> | 21 | <Custom Action="ImmediateCA" Before="CostFinalize" /> |
| 20 | </InstallUISequence> | 22 | </InstallUISequence> |
| 21 | 23 | ||
| 22 | <InstallExecuteSequence> | 24 | <InstallExecuteSequence> |
| 25 | <Custom Action="ExecuteImmediateCA" Before="CostFinalize" /> | ||
| 26 | <Custom Action="ImpersonatedDeferredCA" Before="InstallFiles" /> | ||
| 23 | <Custom Action="DeferredCA" After="InstallFiles" /> | 27 | <Custom Action="DeferredCA" After="InstallFiles" /> |
| 24 | </InstallExecuteSequence> | 28 | </InstallExecuteSequence> |
| 25 | </Package> | 29 | </Package> |
diff --git a/src/test/msi/TestData/CustomActionTests/TestCA/CustomAction.cs b/src/test/msi/TestData/CustomActionTests/TestCA/CustomAction.cs index 6891f8da..54afc2cf 100644 --- a/src/test/msi/TestData/CustomActionTests/TestCA/CustomAction.cs +++ b/src/test/msi/TestData/CustomActionTests/TestCA/CustomAction.cs | |||
| @@ -4,7 +4,9 @@ namespace WixToolsetTest.TestCA | |||
| 4 | { | 4 | { |
| 5 | using System; | 5 | using System; |
| 6 | using System.Collections.Generic; | 6 | using System.Collections.Generic; |
| 7 | using System.IO; | ||
| 7 | using System.Linq; | 8 | using System.Linq; |
| 9 | using System.Text; | ||
| 8 | using WixToolset.Dtf.WindowsInstaller; | 10 | using WixToolset.Dtf.WindowsInstaller; |
| 9 | 11 | ||
| 10 | public class CustomActions | 12 | public class CustomActions |
| @@ -14,6 +16,31 @@ namespace WixToolsetTest.TestCA | |||
| 14 | { | 16 | { |
| 15 | session.Log("Begin ImmediateCA"); | 17 | session.Log("Begin ImmediateCA"); |
| 16 | 18 | ||
| 19 | var path = Path.Combine(Path.GetTempPath(), "ImmediateCA.txt"); | ||
| 20 | WriteNow(path); | ||
| 21 | |||
| 22 | return ActionResult.Success; | ||
| 23 | } | ||
| 24 | |||
| 25 | [CustomAction] | ||
| 26 | public static ActionResult ExecuteImmediateCA(Session session) | ||
| 27 | { | ||
| 28 | session.Log("Begin ExecuteImmediateCA"); | ||
| 29 | |||
| 30 | var path = Path.Combine(Path.GetTempPath(), "ExecuteImmediateCA.txt"); | ||
| 31 | WriteNow(path); | ||
| 32 | |||
| 33 | return ActionResult.Success; | ||
| 34 | } | ||
| 35 | |||
| 36 | [CustomAction] | ||
| 37 | public static ActionResult ImpersonatedDeferredCA(Session session) | ||
| 38 | { | ||
| 39 | session.Log("Begin ImpersonatedDeferredCA"); | ||
| 40 | |||
| 41 | var path = Path.Combine(Path.GetTempPath(), "ImpersonatedDeferredCA.txt"); | ||
| 42 | WriteNow(path); | ||
| 43 | |||
| 17 | return ActionResult.Success; | 44 | return ActionResult.Success; |
| 18 | } | 45 | } |
| 19 | 46 | ||
| @@ -22,7 +49,18 @@ namespace WixToolsetTest.TestCA | |||
| 22 | { | 49 | { |
| 23 | session.Log("Begin DeferredCA"); | 50 | session.Log("Begin DeferredCA"); |
| 24 | 51 | ||
| 52 | WriteNow(@"C:\Windows\Installer\DeferredCA.txt"); | ||
| 53 | |||
| 25 | return ActionResult.Success; | 54 | return ActionResult.Success; |
| 26 | } | 55 | } |
| 56 | |||
| 57 | private static void WriteNow(string path) | ||
| 58 | { | ||
| 59 | using (var file = File.Create(path)) | ||
| 60 | { | ||
| 61 | var now = Encoding.UTF8.GetBytes(DateTime.Now.ToString("o")); | ||
| 62 | file.Write(now, 0, now.Length); | ||
| 63 | } | ||
| 64 | } | ||
| 27 | } | 65 | } |
| 28 | } | 66 | } |
