From ca09758d847dad01a9a5004989ed8489073c7aac Mon Sep 17 00:00:00 2001
From: d35ha <d35hax@gmail.com>
Date: Thu, 13 Jun 2024 15:16:14 +0000
Subject: [PATCH] Add ttd-cli.vm

---
 packages/ttd.vm/tools/chocolateyinstall.ps1   | 24 +++++++++++++++++++
 packages/ttd.vm/tools/chocolateyuninstall.ps1 |  9 +++++++
 packages/ttd.vm/ttd.vm.nuspec                 | 12 ++++++++++
 3 files changed, 45 insertions(+)
 create mode 100644 packages/ttd.vm/tools/chocolateyinstall.ps1
 create mode 100644 packages/ttd.vm/tools/chocolateyuninstall.ps1
 create mode 100644 packages/ttd.vm/ttd.vm.nuspec

diff --git a/packages/ttd.vm/tools/chocolateyinstall.ps1 b/packages/ttd.vm/tools/chocolateyinstall.ps1
new file mode 100644
index 000000000..783e793ea
--- /dev/null
+++ b/packages/ttd.vm/tools/chocolateyinstall.ps1
@@ -0,0 +1,24 @@
+$ErrorActionPreference = 'Stop'
+Import-Module vm.common -Force -DisableNameChecking
+
+try {
+    $toolName = "ttd"
+    $category = "Debuggers"
+
+    # From https://aka.ms/ttd/download
+    $bundleUrl = "https://windbg.download.prss.microsoft.com/dbazure/prod/1-11-319-0/TTD.msixbundle"
+    $bundleSha256 = "f7b80731c3a6994b3763c4100073b101965327d6556fa4bfb553d70ce49be366"
+    $bundlePath = Join-Path ${Env:TEMP} "$($toolName)_1-11-319-0.msixbundle"
+    Get-ChocolateyWebFile -PackageName $toolName -FileFullPath $bundlePath -Url $bundleUrl -Checksum $bundleSha256 -ChecksumType "sha256"
+    VM-Assert-Path $bundlePath
+
+    # Install the downloaded bundle
+    Add-AppxPackage -Path $bundlePath
+
+    # Attempt to remove downloaded item
+    Remove-Item $bundlePath -Force -ea 0
+
+    VM-Install-Shortcut -toolName $toolName -category $category -executablePath "$toolName.exe" -consoleApp $true -runAsAdmin
+} catch {
+    VM-Write-Log-Exception $_
+}
diff --git a/packages/ttd.vm/tools/chocolateyuninstall.ps1 b/packages/ttd.vm/tools/chocolateyuninstall.ps1
new file mode 100644
index 000000000..012afc461
--- /dev/null
+++ b/packages/ttd.vm/tools/chocolateyuninstall.ps1
@@ -0,0 +1,9 @@
+$ErrorActionPreference = 'Continue'
+Import-Module vm.common -Force -DisableNameChecking
+
+$toolName = "ttd"
+$category = "Debuggers"
+
+VM-Remove-Tool-Shortcut $toolName $category
+
+Get-AppxPackage *TimeTravelDebugging* | Remove-AppPackage
diff --git a/packages/ttd.vm/ttd.vm.nuspec b/packages/ttd.vm/ttd.vm.nuspec
new file mode 100644
index 000000000..fdba5507a
--- /dev/null
+++ b/packages/ttd.vm/ttd.vm.nuspec
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
+  <metadata>
+    <id>ttd.vm</id>
+    <version>1.11.319.20240614</version>
+    <authors>Microsoft</authors>
+    <description>Time travel debugging command line utility.</description>
+    <dependencies>
+      <dependency id="common.vm" />
+    </dependencies>
+  </metadata>
+</package>