Skip to content

Commit 40dc222

Browse files
committed
msix: add MSIX package manifest template
Add appxmanifest.xml.in defining the MSIX package structure for Git for Windows. The manifest declares applications for Git Bash, Git CMD, and Git GUI (with Start Menu entries), plus execution aliases for git.exe, bash.exe, sh.exe, and nano.exe. It requests unvirtualized filesystem and registry access so the packaged gitconfig remains writable post-install. The @@Version@@ placeholder is substituted at build time to produce the required X.X.X.X version format. Also add msix/root/ to .gitignore since it is generated during builds. Signed-off-by: Shmueli Englard <shmueli.yosef@englard.net>
1 parent 1533eda commit 40dc222

File tree

2 files changed

+162
-0
lines changed

2 files changed

+162
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ edit-git-bash.exe
3939
/msi/obj/
4040
/msi/package-versions.txt
4141
/msi/wix40-binaries.zip
42+
/msix/root/
4243
/nuget/GitForWindows.nuspec
4344
/nuget/Git-Windows-Minimal.nuspec
4445
/nuget/Git-Windows-Minimal.nuspec.unmoved

msix/appxmanifest.xml.in

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Package
3+
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
4+
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
5+
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
6+
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
7+
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
8+
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
9+
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
10+
xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6"
11+
IgnorableNamespaces="uap uap2 uap3 rescap desktop desktop6 uap10">
12+
13+
<Identity
14+
Name="Git.GitforWindows"
15+
Publisher="CN=The Git Development Community"
16+
Version="@@VERSION@@" />
17+
18+
<Properties>
19+
<DisplayName>Git for Windows</DisplayName>
20+
<PublisherDisplayName>The Git Development Community</PublisherDisplayName>
21+
<Logo>Assets\StoreLogo.png</Logo>
22+
<Description>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.</Description>
23+
<desktop6:FileSystemWriteVirtualization>disabled</desktop6:FileSystemWriteVirtualization>
24+
<desktop6:RegistryWriteVirtualization>disabled</desktop6:RegistryWriteVirtualization>
25+
</Properties>
26+
27+
<Dependencies>
28+
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.19041.0" MaxVersionTested="10.0.26100.0" />
29+
</Dependencies>
30+
31+
<Resources>
32+
<Resource Language="en-us"/>
33+
</Resources>
34+
35+
<Applications>
36+
<Application Id="GitBash" Executable="git-bash.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
37+
<uap3:VisualElements
38+
DisplayName="Git Bash"
39+
Description="Git Bash - Unix-like command line for Git"
40+
VisualGroup="Git for Windows"
41+
BackgroundColor="transparent"
42+
Square150x150Logo="Assets\Square150x150Logo.png"
43+
Square44x44Logo="Assets\Square44x44Logo.png">
44+
</uap3:VisualElements>
45+
<Extensions>
46+
<uap3:Extension Category="windows.appExecutionAlias">
47+
<uap3:AppExecutionAlias>
48+
<desktop:ExecutionAlias Alias="git-bash.exe" />
49+
</uap3:AppExecutionAlias>
50+
</uap3:Extension>
51+
</Extensions>
52+
</Application>
53+
<Application Id="GitCmd" Executable="git-cmd.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
54+
<uap3:VisualElements
55+
DisplayName="Git CMD"
56+
Description="Git CMD - Windows command line for Git"
57+
VisualGroup="Git for Windows"
58+
BackgroundColor="transparent"
59+
Square150x150Logo="Assets\Square150x150Logo.png"
60+
Square44x44Logo="Assets\Square44x44Logo.png">
61+
</uap3:VisualElements>
62+
<Extensions>
63+
<uap3:Extension Category="windows.appExecutionAlias">
64+
<uap3:AppExecutionAlias>
65+
<desktop:ExecutionAlias Alias="git-cmd.exe" />
66+
</uap3:AppExecutionAlias>
67+
</uap3:Extension>
68+
</Extensions>
69+
</Application>
70+
<Application Id="GitGui" Executable="cmd\git-gui.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
71+
<uap3:VisualElements
72+
DisplayName="Git GUI"
73+
Description="Git GUI - Windows graphical interface for Git"
74+
VisualGroup="Git for Windows"
75+
BackgroundColor="transparent"
76+
Square150x150Logo="Assets\Square150x150Logo.png"
77+
Square44x44Logo="Assets\Square44x44Logo.png">
78+
</uap3:VisualElements>
79+
<Extensions>
80+
<uap3:Extension Category="windows.appExecutionAlias">
81+
<uap3:AppExecutionAlias>
82+
<desktop:ExecutionAlias Alias="git-gui.exe" />
83+
</uap3:AppExecutionAlias>
84+
</uap3:Extension>
85+
</Extensions>
86+
</Application>
87+
<Application Id="Bash" Executable="bin\bash.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
88+
<uap:VisualElements
89+
DisplayName="Bash"
90+
Description="Bash shell"
91+
BackgroundColor="transparent"
92+
Square150x150Logo="Assets\Square150x150Logo.png"
93+
Square44x44Logo="Assets\Square44x44Logo.png"
94+
AppListEntry="none">
95+
</uap:VisualElements>
96+
<Extensions>
97+
<uap3:Extension Category="windows.appExecutionAlias">
98+
<uap3:AppExecutionAlias>
99+
<desktop:ExecutionAlias Alias="bash.exe" />
100+
</uap3:AppExecutionAlias>
101+
</uap3:Extension>
102+
</Extensions>
103+
</Application>
104+
<Application Id="Git" Executable="bin\git.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
105+
<uap:VisualElements
106+
DisplayName="Git"
107+
Description="Git version control"
108+
BackgroundColor="transparent"
109+
Square150x150Logo="Assets\Square150x150Logo.png"
110+
Square44x44Logo="Assets\Square44x44Logo.png"
111+
AppListEntry="none">
112+
</uap:VisualElements>
113+
<Extensions>
114+
<uap3:Extension Category="windows.appExecutionAlias">
115+
<uap3:AppExecutionAlias>
116+
<desktop:ExecutionAlias Alias="git.exe" />
117+
</uap3:AppExecutionAlias>
118+
</uap3:Extension>
119+
</Extensions>
120+
</Application>
121+
<Application Id="Sh" Executable="bin\sh.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
122+
<uap:VisualElements
123+
DisplayName="Sh"
124+
Description="Shell"
125+
BackgroundColor="transparent"
126+
Square150x150Logo="Assets\Square150x150Logo.png"
127+
Square44x44Logo="Assets\Square44x44Logo.png"
128+
AppListEntry="none">
129+
</uap:VisualElements>
130+
<Extensions>
131+
<uap3:Extension Category="windows.appExecutionAlias">
132+
<uap3:AppExecutionAlias>
133+
<desktop:ExecutionAlias Alias="sh.exe" />
134+
</uap3:AppExecutionAlias>
135+
</uap3:Extension>
136+
</Extensions>
137+
</Application>
138+
<Application Id="Nano" Executable="usr\bin\nano.exe" uap10:RuntimeBehavior="win32App" uap10:TrustLevel="mediumIL">
139+
<uap:VisualElements
140+
DisplayName="Nano"
141+
Description="Nano Editor"
142+
BackgroundColor="transparent"
143+
Square150x150Logo="Assets\Square150x150Logo.png"
144+
Square44x44Logo="Assets\Square44x44Logo.png"
145+
AppListEntry="none">
146+
</uap:VisualElements>
147+
<Extensions>
148+
<uap3:Extension Category="windows.appExecutionAlias">
149+
<uap3:AppExecutionAlias>
150+
<desktop:ExecutionAlias Alias="nano.exe" />
151+
</uap3:AppExecutionAlias>
152+
</uap3:Extension>
153+
</Extensions>
154+
</Application>
155+
</Applications>
156+
157+
<Capabilities>
158+
<rescap:Capability Name="runFullTrust" />
159+
<rescap:Capability Name="unvirtualizedResources" />
160+
</Capabilities>
161+
</Package>

0 commit comments

Comments
 (0)