From 9bd21a574d0c2516601daaa5d96ee62d74285121 Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Fri, 21 Nov 2025 09:34:04 -0800 Subject: [PATCH 01/10] Initial prototype for MSIX creation Signed-off-by: Shmueli Englard --- msix/Assets/LockScreenLogo.png | Bin 0 -> 711 bytes msix/Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1254 bytes msix/Assets/Square150x150Logo.png | Bin 0 -> 3779 bytes msix/Assets/Square150x150Logo.scale-200.png | Bin 0 -> 5486 bytes msix/Assets/Square44x44Logo.png | Bin 0 -> 1254 bytes msix/Assets/Square44x44Logo.scale-200.png | Bin 0 -> 2525 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 711 bytes msix/Assets/StoreLogo.png | Bin 0 -> 1254 bytes msix/appxmanifest.xml | 159 ++++++++++++++++++ 9 files changed, 159 insertions(+) create mode 100644 msix/Assets/LockScreenLogo.png create mode 100644 msix/Assets/LockScreenLogo.scale-200.png create mode 100644 msix/Assets/Square150x150Logo.png create mode 100644 msix/Assets/Square150x150Logo.scale-200.png create mode 100644 msix/Assets/Square44x44Logo.png create mode 100644 msix/Assets/Square44x44Logo.scale-200.png create mode 100644 msix/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 msix/Assets/StoreLogo.png create mode 100644 msix/appxmanifest.xml diff --git a/msix/Assets/LockScreenLogo.png b/msix/Assets/LockScreenLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..fa651cf598bc561da3ae9274918e148ec533da74 GIT binary patch literal 711 zcmV;&0yzDNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0$fQ%K~zXft&=}! z6Hy$;JF1Hc9dy#E;va+*DQF`?{WFQ1lA+wC4x*IepUExX9IaLCOD91GCmoz>+sh(I zgNr865|fwcVpXhpagZQp>C~^>nHR4wml)c7;m2|B{od#E-aD?ZugefPMIcWgN5_en z^VdM`b!FwFxx)=ffxtf9 zPatN%b+t;`z{4alPEH;maK&3Eq;=JRw@RD^4tIbzCGW+H0RksDJ-v5vY5b@t*_O9H zCG86{GCm=ScEyy4vK8@mpAP|s)g66eA?@cv+8e1t{Pe#uYc%8}IZu!afwfke*8;Go zKA;$He)xywu@O@+BkjC*MG?5HwE#EQ!g}Swc~)?a3jIr;ZyplT{wRue$pfd#)=;V# z&l-aIY{?$>?Ql8RR+8rY`uBSmsj$upVyxmI6;_&()@$+MGi58PPuE@&ge&~y8jkY| z_E6zl2T3bj$B?`Xz)6L>x{nH@jj?4z(jKnkOVWI1z{x7&x`#h7(i~S6SkPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1bazDK~!i%)tOId z9900u*P2EV8>v-KgzoBca!Cm($5X6DU%zaKk0Gf6U; zbqIm`X<6?QI748LzzBf>bzCaLsi`diG?kVJ465T(l>q*P20r}~1cnHl)Ih6EpF{vZ zuYrwgx+G{>uM)VS0d3XPN$lHD5(FNkWxdw4ZKFuk;elTX+#)d6v@h)v0etv6zi}kQ z0x>tKs6^xLdz`?J1TJfi(e+!B_k`z3EHg8_SG*GVP_wXBLWYx*TM2xnIVRj|wC(4` z_!;i4ua#J)O5B1ne?plrh@aa?WYyzE2y7zYYK{@TD&h04@tNZqB`obt=5z|+PoPYq z%#{u#zES6pAz*68UnTII*k6bD4Az^3L;!y>fR}A2kyq!DAut*T?^Lt)ZTKW4aD+n| z_)a8#Q|FQ)usb--+QauF(FVQ~iPzORWyBYqmUX2g_+BIe_<0Smu5l9o(X!r?bE=m{ zPE0&1Uh`GMionLT6NxV2+esXi^U}6=(X!qSuQgp6eai8STM^J!Z6(nod@G4H0brQG zB?6Cx*K|B{ED?zSenA7)P1htW>jPTWcXECL&(OA?74Mzu*v|0Uj%%8ZXZ+%L#t(VV z_&WluYghthK9B&s?20|hr|Zzg;(cMzI;>~xcRb^!<7G$HeIf@Ia}POQwip4{RY)8g z9>`dSIj#ZerzI6k}c zD91BC3NM~_&9BulGKFf^P+?;_m%%LOG!XstvN$axP;U19CIK%yt&Wi?ESY;Wu#px# zqar?m5e-B?J*WbS6wmD&ay(-t1n|2$MyBKYgPR@C;1~zQd8+~GrKcumxs^P$nKk=G z3B<+RX7L(aac*BW^Gn$`n#cwG*>`q0o^dS#tF+*n3x^hSjZYdg985ss6pr#?E@L}= z{6Rl-AMov6ynvU)d*#}{T7Q(Nj_sU2Yd(>8jhy2d7gbob0$yCPLf(B#tijiCjy~8V zP{S~N{2L?DRkiRkJxb`{bpm4B^?oE;!pn3iaXJQ`Jdd)RQ+yvn`>u1@dRc7mMxrBl znGPl5;eE`~UwiH$v57vu=vAUCc$qd5t>FLUKNwQy6A`CXw-PY$M0((5x{yd8yi5lY>4leRA(4J~8F4oao;>GRLxsLIP9Kp!wIq@M0b25Dn)b|k Q&;S4c07*qoM6N<$g8n`@(f|Me literal 0 HcmV?d00001 diff --git a/msix/Assets/Square150x150Logo.png b/msix/Assets/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..40836ed94291b28e20945ed002477920a925a8aa GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/msix/Assets/Square150x150Logo.scale-200.png b/msix/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..defdd4ac14107eb83ad6cd3a5168bb9eb7c20a02 GIT binary patch literal 5486 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 iX4WnOV=X=0CNe%dq6!P})qdeL~P5VC>-7L-k literal 0 HcmV?d00001 diff --git a/msix/Assets/Square44x44Logo.png b/msix/Assets/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c5143899f992f34664109c3c25861285a52e89 GIT binary patch literal 1254 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1bazDK~!i%)tOId z9900u*P2EV8>v-KgzoBca!Cm($5X6DU%zaKk0Gf6U; zbqIm`X<6?QI748LzzBf>bzCaLsi`diG?kVJ465T(l>q*P20r}~1cnHl)Ih6EpF{vZ zuYrwgx+G{>uM)VS0d3XPN$lHD5(FNkWxdw4ZKFuk;elTX+#)d6v@h)v0etv6zi}kQ z0x>tKs6^xLdz`?J1TJfi(e+!B_k`z3EHg8_SG*GVP_wXBLWYx*TM2xnIVRj|wC(4` z_!;i4ua#J)O5B1ne?plrh@aa?WYyzE2y7zYYK{@TD&h04@tNZqB`obt=5z|+PoPYq z%#{u#zES6pAz*68UnTII*k6bD4Az^3L;!y>fR}A2kyq!DAut*T?^Lt)ZTKW4aD+n| z_)a8#Q|FQ)usb--+QauF(FVQ~iPzORWyBYqmUX2g_+BIe_<0Smu5l9o(X!r?bE=m{ zPE0&1Uh`GMionLT6NxV2+esXi^U}6=(X!qSuQgp6eai8STM^J!Z6(nod@G4H0brQG zB?6Cx*K|B{ED?zSenA7)P1htW>jPTWcXECL&(OA?74Mzu*v|0Uj%%8ZXZ+%L#t(VV z_&WluYghthK9B&s?20|hr|Zzg;(cMzI;>~xcRb^!<7G$HeIf@Ia}POQwip4{RY)8g z9>`dSIj#ZerzI6k}c zD91BC3NM~_&9BulGKFf^P+?;_m%%LOG!XstvN$axP;U19CIK%yt&Wi?ESY;Wu#px# zqar?m5e-B?J*WbS6wmD&ay(-t1n|2$MyBKYgPR@C;1~zQd8+~GrKcumxs^P$nKk=G z3B<+RX7L(aac*BW^Gn$`n#cwG*>`q0o^dS#tF+*n3x^hSjZYdg985ss6pr#?E@L}= z{6Rl-AMov6ynvU)d*#}{T7Q(Nj_sU2Yd(>8jhy2d7gbob0$yCPLf(B#tijiCjy~8V zP{S~N{2L?DRkiRkJxb`{bpm4B^?oE;!pn3iaXJQ`Jdd)RQ+yvn`>u1@dRc7mMxrBl znGPl5;eE`~UwiH$v57vu=vAUCc$qd5t>FLUKNwQy6A`CXw-PY$M0((5x{yd8yi5lY>4leRA(4J~8F4oao;>GRLxsLIP9Kp!wIq@M0b25Dn)b|k Q&;S4c07*qoM6N<$g8n`@(f|Me literal 0 HcmV?d00001 diff --git a/msix/Assets/Square44x44Logo.scale-200.png b/msix/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..1632fc6333493a214eec9c45c8e2bec62d8a69c9 GIT binary patch literal 2525 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 Q&;S4c07*qoM6N<$g8n`@(f|Me literal 0 HcmV?d00001 diff --git a/msix/appxmanifest.xml b/msix/appxmanifest.xml new file mode 100644 index 0000000000..12a14f5ce8 --- /dev/null +++ b/msix/appxmanifest.xml @@ -0,0 +1,159 @@ + + + + + + + + Git for Windows + The Git Development Community + Assets\StoreLogo.png + Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git to Windows while providing appropriate user interfaces for experienced users. + disabled + disabled + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 5ac451a78bcc47b4f1a6e73b46cd1cea29ff646b Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Mon, 24 Nov 2025 10:47:38 -0800 Subject: [PATCH 02/10] Minor cleanup Signed-off-by: Shmueli Englard --- msix/appxmanifest.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/msix/appxmanifest.xml b/msix/appxmanifest.xml index 12a14f5ce8..5f8f178bf9 100644 --- a/msix/appxmanifest.xml +++ b/msix/appxmanifest.xml @@ -1,14 +1,13 @@  - - + From f890e9a8d70e4a5a20a8aa3957869aa0345a5d33 Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Mon, 24 Nov 2025 16:23:10 -0800 Subject: [PATCH 03/10] Initial release script Signed-off-by: Shmueli Englard --- .gitignore | 1 + .../{appxmanifest.xml => appxmanifest.xml.in} | 2 +- msix/release.sh | 183 ++++++++++++++++++ 3 files changed, 185 insertions(+), 1 deletion(-) rename msix/{appxmanifest.xml => appxmanifest.xml.in} (99%) create mode 100644 msix/release.sh diff --git a/.gitignore b/.gitignore index 10c273c2bc..2093b0809b 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ edit-git-bash.exe /msi/obj/ /msi/package-versions.txt /msi/wix40-binaries.zip +/msix/root/ /nuget/GitForWindows.nuspec /nuget/Git-Windows-Minimal.nuspec /nuget/Git-Windows-Minimal.nuspec.unmoved diff --git a/msix/appxmanifest.xml b/msix/appxmanifest.xml.in similarity index 99% rename from msix/appxmanifest.xml rename to msix/appxmanifest.xml.in index 5f8f178bf9..5c85c5b08e 100644 --- a/msix/appxmanifest.xml +++ b/msix/appxmanifest.xml.in @@ -13,7 +13,7 @@ + Version="@@VERSION@@" /> Git for Windows diff --git a/msix/release.sh b/msix/release.sh new file mode 100644 index 0000000000..dc69067bf3 --- /dev/null +++ b/msix/release.sh @@ -0,0 +1,183 @@ +#!/bin/sh + +# Build the portable Git for Windows. + +die () { + echo "$*" >&1 + exit 1 +} + +output_directory="$HOME" +include_pdbs= +while test $# -gt 0 +do + case "$1" in + --output) + shift + output_directory="$1" + ;; + --output=*) + output_directory="${1#*=}" + ;; + --include-pdbs) + include_pdbs=t + ;; + -*) + die "Unknown option: $1" + ;; + *) + break + esac + shift +done + +test $# -gt 0 || +die "Usage: $0 [--output=] [optional components]" + +test -d "$output_directory" || +die "Directory inaccessible: '$output_directory'" + +case "$MSYSTEM" in +MINGW32) + BITNESS=32 + ARCH=i686 + ARTIFACT_SUFFIX="32-bit" + MD_ARG=128M + MINGW_PREFIX=mingw-w64-i686- + ;; +MINGW64) + BITNESS=64 + ARCH=x86_64 + ARTIFACT_SUFFIX="64-bit" + MD_ARG=256M + MINGW_PREFIX=mingw-w64-x86_64- + ;; +CLANGARM64) + BITNESS=64 + ARCH=aarch64 + ARTIFACT_SUFFIX=arm64 + MD_ARG=256M + MINGW_PREFIX=mingw-w64-clang-aarch64- + ;; +*) + die "Unhandled MSYSTEM: $MSYSTEM" + ;; +esac +MSYSTEM_LOWER=${MSYSTEM,,} +VERSION=$1 +shift +TARGET="$output_directory"/PortableGit-"$VERSION"-"$ARTIFACT_SUFFIX".msix +SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)" + +case "$SCRIPT_PATH" in +*" "*) + die "This script cannot handle spaces in $SCRIPT_PATH" + ;; +esac + + +# Generate a couple of files dynamically + +mkdir -p "$SCRIPT_PATH/root/" || +die "Could not make root" + +cp "$SCRIPT_PATH/../LICENSE.txt" "$SCRIPT_PATH/root/" || +die "Could not copy license file" + +mkdir -p "$SCRIPT_PATH/root/dev/mqueue" || +die "Could not make /dev/mqueue directory" + +mkdir -p "$SCRIPT_PATH/root/dev/shm" || +die "Could not make /dev/shm/ directory" + +mkdir -p "$SCRIPT_PATH/root/etc" || +die "Could not make etc/ directory" + +mkdir -p "$SCRIPT_PATH/root/tmp" || +die "Could not make tmp/ directory" + +mkdir -p "$SCRIPT_PATH/root/bin" || +die "Could not make bin/ directory" + +cp /cmd/git.exe "$SCRIPT_PATH/root/bin/git.exe" && +cp /$MSYSTEM_LOWER/share/git/compat-bash.exe "$SCRIPT_PATH/root/bin/bash.exe" && +cp /$MSYSTEM_LOWER/share/git/compat-bash.exe "$SCRIPT_PATH/root/bin/sh.exe" || +die "Could not install bin/ redirectors" + +etc_gitconfig="$(git -c core.editor=echo config --system -e 2>/dev/null)" && +etc_gitconfig="$(cygpath -au "$etc_gitconfig")" && +etc_gitconfig="${etc_gitconfig#/}" || +die "Could not determine the path of the system config" + +# Make a list of files to include +LIST="$(ARCH=$ARCH ETC_GITCONFIG="$etc_gitconfig" \ + PACKAGE_VERSIONS_FILE="$SCRIPT_PATH"/root/etc/package-versions.txt \ + sh "$SCRIPT_PATH"/../make-file-list.sh "$@" | + grep -v "^$etc_gitconfig$")" || +die "Could not generate file list" + +mkdir -p "$SCRIPT_PATH/root/${etc_gitconfig%/*}" && +cp /"$etc_gitconfig" "$SCRIPT_PATH/root/$etc_gitconfig" && +git config -f "$SCRIPT_PATH/root/$etc_gitconfig" \ + credential.helper manager || +die "Could not configure Git-Credential-Manager as default" +test 64 != $BITNESS || +git config -f "$SCRIPT_PATH/root/$etc_gitconfig" --unset pack.packSizeLimit +git config -f "$SCRIPT_PATH/root/$etc_gitconfig" core.fscache true + +case "$LIST" in +*/git-credential-helper-selector.exe*) + git config -f "$SCRIPT_PATH/root/$etc_gitconfig" \ + credential.helper helper-selector + ;; +esac + +git_core="$SCRIPT_PATH/root/$MSYSTEM_LOWER/libexec/git-core" && +rm -rf "$git_core" && +mkdir -p "$git_core" && +if test "$(stat -c %D /$MSYSTEM_LOWER/bin)" = "$(stat -c %D "$git_core")" +then + ln_or_cp=ln +else + ln_or_cp=cp +fi && +$ln_or_cp $(echo "$LIST" | sed -n "s|^$MSYSTEM_LOWER/bin/[^/]*\.dll$|/&|p") "$git_core" || +die "Could not copy .dll files into libexec/git-core/" + +test -z "$include_pdbs" || { + find "$SCRIPT_PATH/root" -name \*.pdb -exec rm {} \; && + "$SCRIPT_PATH"/../please.sh bundle-pdbs \ + --arch=$ARCH --unpack="$SCRIPT_PATH"/root +} || +die "Could not unpack .pdb files" + +# Create MSIX + +MAPFILE=$SCRIPT_PATH/root/files.map +MANIFESTIN=$SCRIPT_PATH/appxmanifest.xml.in +MANIFESTOUT=$SCRIPT_PATH/root/appxmanifest.xml + +echo "Create MSIX" + +sed -e "s/@@VERSION@@/$VERSION/g" <"$MANIFESTIN" >"$MANIFESTOUT" + +echo "[Files]" >"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/root/appxmanifest.xml\" \"AppxManifest.xml\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/root/bin/git.exe\" \"bin/git.exe\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/root/bin/sh.exe\" \"bin/sh.exe\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/root/bin/bash.exe\" \"bin/bash.exe\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/LockScreenLogo.png\" \"Assets/LockScreenLogo.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/LockScreenLogo.scale-200.png\" \"Assets/LockScreenLogo.scale-200.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/Square150x150Logo.png\" \"Assets/Square150x150Logo.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/Square150x150Logo.scale-200.png\" \"Assets/Square150x150Logo.scale-200.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/Square44x44Logo.png\" \"Assets/Square44x44Logo.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/Square44x44Logo.scale-200.png\" \"Assets/Square44x44Logo.scale-200.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/Square44x44Logo.targetsize-24_altform-unplated.png\" \"Assets/Square44x44Logo.targetsize-24_altform-unplated.png\"" >>"$MAPFILE" && +echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/StoreLogo.png\" \"Assets/StoreLogo.png\"" >>"$MAPFILE" && +echo "$LIST" | +sed -e 'y/\//\\/' -e 's/.*/"&" "&"/' >>"$MAPFILE" + +PWSH_COMMAND=". \"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\makeappx.exe\" pack /v /o /f $(cygpath -aw "$MAPFILE") /p $(cygpath -aw "$TARGET")" +set -x +/c/Program\ Files/WindowsApps/Microsoft.PowerShell_7.5.4.0_x64__8wekyb3d8bbwe/pwsh.exe -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" +set +x \ No newline at end of file From c42b0f6acf02df46d3653a1855b41e763c73b7f8 Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 26 Nov 2025 08:21:08 -0800 Subject: [PATCH 04/10] Fix generated package name Signed-off-by: Shmueli Englard --- msix/release.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/msix/release.sh b/msix/release.sh index dc69067bf3..36a31c889f 100644 --- a/msix/release.sh +++ b/msix/release.sh @@ -41,14 +41,14 @@ case "$MSYSTEM" in MINGW32) BITNESS=32 ARCH=i686 - ARTIFACT_SUFFIX="32-bit" + ARTIFACT_SUFFIX="x86" MD_ARG=128M MINGW_PREFIX=mingw-w64-i686- ;; MINGW64) BITNESS=64 ARCH=x86_64 - ARTIFACT_SUFFIX="64-bit" + ARTIFACT_SUFFIX="x64" MD_ARG=256M MINGW_PREFIX=mingw-w64-x86_64- ;; @@ -66,7 +66,7 @@ esac MSYSTEM_LOWER=${MSYSTEM,,} VERSION=$1 shift -TARGET="$output_directory"/PortableGit-"$VERSION"-"$ARTIFACT_SUFFIX".msix +TARGET="$output_directory"/Git.GitforWindows_"$VERSION"_"$ARTIFACT_SUFFIX".msix SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)" case "$SCRIPT_PATH" in @@ -178,6 +178,5 @@ echo "$LIST" | sed -e 'y/\//\\/' -e 's/.*/"&" "&"/' >>"$MAPFILE" PWSH_COMMAND=". \"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\makeappx.exe\" pack /v /o /f $(cygpath -aw "$MAPFILE") /p $(cygpath -aw "$TARGET")" -set -x -/c/Program\ Files/WindowsApps/Microsoft.PowerShell_7.5.4.0_x64__8wekyb3d8bbwe/pwsh.exe -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" -set +x \ No newline at end of file +/c/Program\ Files/WindowsApps/Microsoft.PowerShell_7.5.4.0_x64__8wekyb3d8bbwe/pwsh.exe -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" && +echo "Package created at $TARGET" \ No newline at end of file From ff43450e95b8b3e43424875707c5a00720571ebf Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 26 Nov 2025 08:21:20 -0800 Subject: [PATCH 05/10] Group entry points Signed-off-by: Shmueli Englard --- msix/appxmanifest.xml.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/msix/appxmanifest.xml.in b/msix/appxmanifest.xml.in index 5c85c5b08e..9de33ba941 100644 --- a/msix/appxmanifest.xml.in +++ b/msix/appxmanifest.xml.in @@ -37,6 +37,7 @@ @@ -53,6 +54,7 @@ @@ -69,6 +71,7 @@ From 3f6f9bf323c73fb7053f3320f83ed3aa2e1d3d33 Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 26 Nov 2025 08:25:50 -0800 Subject: [PATCH 06/10] Fix manifest Signed-off-by: Shmueli Englard --- msix/appxmanifest.xml.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/msix/appxmanifest.xml.in b/msix/appxmanifest.xml.in index 9de33ba941..c86012ed28 100644 --- a/msix/appxmanifest.xml.in +++ b/msix/appxmanifest.xml.in @@ -34,14 +34,14 @@ - - + @@ -51,14 +51,14 @@ - - + @@ -68,14 +68,14 @@ - - + From a87575433522e07f689ec44d5a2fca2488c576ae Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 26 Nov 2025 08:27:16 -0800 Subject: [PATCH 07/10] Use pwsh from the path Signed-off-by: Shmueli Englard --- msix/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msix/release.sh b/msix/release.sh index 36a31c889f..ac3a101f4e 100644 --- a/msix/release.sh +++ b/msix/release.sh @@ -178,5 +178,5 @@ echo "$LIST" | sed -e 'y/\//\\/' -e 's/.*/"&" "&"/' >>"$MAPFILE" PWSH_COMMAND=". \"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\makeappx.exe\" pack /v /o /f $(cygpath -aw "$MAPFILE") /p $(cygpath -aw "$TARGET")" -/c/Program\ Files/WindowsApps/Microsoft.PowerShell_7.5.4.0_x64__8wekyb3d8bbwe/pwsh.exe -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" && +pwsh -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" && echo "Package created at $TARGET" \ No newline at end of file From 9afc0a472e006c4a86faf71ec9560fc10ef4490a Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 26 Nov 2025 11:31:57 -0800 Subject: [PATCH 08/10] Try using WinApp CLI Signed-off-by: Shmueli Englard --- msix/release.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/msix/release.sh b/msix/release.sh index ac3a101f4e..c5a4a41a3f 100644 --- a/msix/release.sh +++ b/msix/release.sh @@ -151,6 +151,10 @@ test -z "$include_pdbs" || { } || die "Could not unpack .pdb files" +# Install Tooling +echo "Install WinApp CLI" +winget install Microsoft.WinAppCLI + # Create MSIX MAPFILE=$SCRIPT_PATH/root/files.map @@ -177,6 +181,6 @@ echo "\"$(cygpath -aw "$SCRIPT_PATH")/Assets/StoreLogo.png\" \"Assets/StoreLogo. echo "$LIST" | sed -e 'y/\//\\/' -e 's/.*/"&" "&"/' >>"$MAPFILE" -PWSH_COMMAND=". \"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\makeappx.exe\" pack /v /o /f $(cygpath -aw "$MAPFILE") /p $(cygpath -aw "$TARGET")" -pwsh -wd "$(cygpath -aw "/")" -nop -noni -nol -c "iex '$PWSH_COMMAND'" && +PWSH_COMMAND="winapp tool makeappx.exe pack /v /o /f $(cygpath -aw "$MAPFILE") /p $(cygpath -aw "$TARGET")" +powershell -WorkingDirectory "$(cygpath -aw "/")" -NonInteractive -NoProfile -NoLogo -Command "iex '$PWSH_COMMAND'" && echo "Package created at $TARGET" \ No newline at end of file From b40f859a14ccc60cd2d9a5300bdb0bd86fd28171 Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 10 Dec 2025 08:25:07 -0800 Subject: [PATCH 09/10] Add arguments to run winget in automation Signed-off-by: Shmueli Englard --- msix/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msix/release.sh b/msix/release.sh index c5a4a41a3f..5df113d7e4 100644 --- a/msix/release.sh +++ b/msix/release.sh @@ -153,7 +153,7 @@ die "Could not unpack .pdb files" # Install Tooling echo "Install WinApp CLI" -winget install Microsoft.WinAppCLI +winget install Microsoft.WinAppCLI --accept-source-agreements --accept-package-agreements --disable-interactivity # Create MSIX From aa67f47cd9d38e4c62108a9ca1c6992afffd4a6e Mon Sep 17 00:00:00 2001 From: Shmueli Englard Date: Wed, 10 Dec 2025 08:26:02 -0800 Subject: [PATCH 10/10] Add logic to fail if winget install fails Signed-off-by: Shmueli Englard --- msix/release.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/msix/release.sh b/msix/release.sh index 5df113d7e4..ac501b6c95 100644 --- a/msix/release.sh +++ b/msix/release.sh @@ -153,7 +153,8 @@ die "Could not unpack .pdb files" # Install Tooling echo "Install WinApp CLI" -winget install Microsoft.WinAppCLI --accept-source-agreements --accept-package-agreements --disable-interactivity +winget install Microsoft.WinAppCLI --accept-source-agreements --accept-package-agreements --disable-interactivity || +die "Failed to install WinApp CLI" # Create MSIX