mirror of
https://github.com/modernw/App-Installer-For-Windows-8.x-Reset.git
synced 2026-04-12 02:07:19 +10:00
Compare commits
47 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32a48c5e41 | ||
|
|
ed0920b21b | ||
|
|
5378e3d54b | ||
|
|
87beb7af51 | ||
|
|
4993fd9968 | ||
|
|
1df420c437 | ||
|
|
994a53a00b | ||
|
|
179ae49d20 | ||
|
|
c0dac1ac7f | ||
|
|
687e18b80c | ||
|
|
598007f177 | ||
|
|
7552ffed35 | ||
|
|
8227689e6a | ||
|
|
d170a9196d | ||
|
|
f5edaf2f23 | ||
|
|
1ef31d54c8 | ||
|
|
0cabf43e17 | ||
|
|
f98c57ef3a | ||
|
|
84f89f3464 | ||
|
|
f36351c009 | ||
|
|
f44589009c | ||
|
|
868fb8b3e8 | ||
|
|
e1d89a022e | ||
|
|
10aa419e98 | ||
|
|
db20b3bc4e | ||
|
|
de33c438b6 | ||
|
|
1f9635255e | ||
|
|
3329058840 | ||
|
|
ee5854c5a1 | ||
|
|
471ce85cdf | ||
|
|
f28e3fe24c | ||
|
|
169815e88a | ||
|
|
2c6391804e | ||
|
|
fa65d40f3e | ||
|
|
2fd73eab85 | ||
|
|
9111c019ff | ||
|
|
200262d3ca | ||
|
|
0f7c4be17e | ||
|
|
ded9ea9293 | ||
|
|
b131251a3b | ||
|
|
f563f97f12 | ||
|
|
19757502ae | ||
|
|
c28c09973e | ||
|
|
8dd01a67e9 | ||
|
|
84a28db8cf | ||
|
|
b315782df6 | ||
|
|
76ce97370f |
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.14.37012.4 d17.14
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pkgread", "pkgread\pkgread.vcxproj", "{A7753282-AA16-43D9-8ACA-7065239DD702}"
|
||||
EndProject
|
||||
@@ -81,273 +81,204 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PkgCLI", "PkgCLI\PkgCLI.csp
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|ARM = Release|ARM
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Debug|x86.Build.0 = Debug|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|ARM.Build.0 = Release|ARM
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x86.ActiveCfg = Release|Win32
|
||||
{A7753282-AA16-43D9-8ACA-7065239DD702}.Release|x86.Build.0 = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Debug|x86.Build.0 = Debug|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|ARM.Build.0 = Release|ARM
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|x86.ActiveCfg = Release|Win32
|
||||
{8EAC0230-4990-4E41-8E0F-D641D1561396}.Release|x86.Build.0 = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Debug|x86.Build.0 = Debug|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|ARM.Build.0 = Release|ARM
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|x86.ActiveCfg = Release|Win32
|
||||
{798ED492-EECE-457D-8FD8-129DA93CE126}.Release|x86.Build.0 = Release|Win32
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Debug|x86.Build.0 = Debug|x86
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.ActiveCfg = Release|x86
|
||||
{EF4012D4-EF08-499C-B803-177739350B2D}.Release|x86.Build.0 = Release|x86
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|ARM.Build.0 = Release|ARM
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E04CCAB9-35DB-495C-A279-5B483C707CD0}.Release|x86.Build.0 = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Debug|x86.Build.0 = Debug|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|ARM.Build.0 = Release|ARM
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x86.ActiveCfg = Release|Win32
|
||||
{F0C84812-0CDF-4AA0-A0F8-F37AC833F39B}.Release|x86.Build.0 = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Debug|x86.Build.0 = Debug|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|ARM.Build.0 = Release|ARM
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x86.ActiveCfg = Release|Win32
|
||||
{AD25497F-A15F-4DFF-AC7A-B8ABF5F411D6}.Release|x86.Build.0 = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Debug|x86.Build.0 = Debug|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|ARM.Build.0 = Release|ARM
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x86.ActiveCfg = Release|Win32
|
||||
{3AE2A022-ED83-41F1-948A-12A7593CBD00}.Release|x86.Build.0 = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Debug|x86.Build.0 = Debug|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|ARM.Build.0 = Release|ARM
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x86.ActiveCfg = Release|Win32
|
||||
{18E0189B-F3F1-4CB2-A3AF-5606ADD5E279}.Release|x86.Build.0 = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Debug|x86.Build.0 = Debug|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|ARM.Build.0 = Release|ARM
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x86.ActiveCfg = Release|Win32
|
||||
{7A05E943-6E0A-4F57-8BD7-BE90F44DCAD7}.Release|x86.Build.0 = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Debug|x86.Build.0 = Debug|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|ARM.Build.0 = Release|ARM
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x86.ActiveCfg = Release|Win32
|
||||
{33D91B58-1981-4A3C-B4D1-86EE406CDE12}.Release|x86.Build.0 = Release|Win32
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Debug|x86.Build.0 = Debug|x86
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.ActiveCfg = Release|x86
|
||||
{512BF866-1AA0-4169-A7D6-D2776B5D731E}.Release|x86.Build.0 = Release|x86
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Debug|x86.Build.0 = Debug|x86
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.ActiveCfg = Release|x86
|
||||
{8E708D9A-6325-4AA9-B5A5-D1B5ECA8EEF7}.Release|x86.Build.0 = Release|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Debug|x86.Build.0 = Debug|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.ActiveCfg = Release|x86
|
||||
{BD681A4F-EB60-4BB8-90B5-65968FC7DA59}.Release|x86.Build.0 = Release|x86
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Debug|x86.Build.0 = Debug|x86
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.ActiveCfg = Release|x86
|
||||
{FFD3FD52-37A8-4F43-883C-DE8D996CB0E0}.Release|x86.Build.0 = Release|x86
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Debug|x86.Build.0 = Debug|x86
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x86.ActiveCfg = Release|x86
|
||||
{3C2F5446-33F0-41D5-813A-64A94AA474AF}.Release|x86.Build.0 = Release|x86
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Debug|x86.Build.0 = Debug|x86
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.ActiveCfg = Release|x86
|
||||
{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x86.Build.0 = Release|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.Build.0 = Debug|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.ActiveCfg = Release|x86
|
||||
{DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.Build.0 = Release|x86
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x86.Build.0 = Debug|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|ARM.Build.0 = Release|ARM
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.ActiveCfg = Release|Win32
|
||||
{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x86.Build.0 = Release|Win32
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x86.Build.0 = Debug|x86
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.ActiveCfg = Release|x86
|
||||
{C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x86.Build.0 = Release|x86
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Debug|x86.Build.0 = Debug|x86
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.ActiveCfg = Release|x86
|
||||
{F0288B24-7B84-42A5-9A92-2E16A012E4DE}.Release|x86.Build.0 = Release|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Debug|x86.Build.0 = Debug|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.ActiveCfg = Release|x86
|
||||
{26B3C19D-6182-4DB5-8B69-EE098A0FD3BB}.Release|x86.Build.0 = Release|x86
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|Any CPU.ActiveCfg = Debug|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Debug|x86.Build.0 = Debug|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|Any CPU.ActiveCfg = Release|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|ARM.Build.0 = Release|ARM
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.ActiveCfg = Release|Win32
|
||||
{B1DF139F-CEF1-404F-8255-31EF4BF0EC4C}.Release|x86.Build.0 = Release|Win32
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Debug|x86.Build.0 = Debug|x86
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{8D333AF6-E901-4301-B3EE-923088E81062}.Release|x86.ActiveCfg = Release|x86
|
||||
|
||||
@@ -32,6 +32,24 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
|
||||
@@ -797,6 +797,14 @@ namespace Bridge
|
||||
}
|
||||
public void UpdateApplicationItems (object items)
|
||||
{
|
||||
lock (_I_PackageReader._cacheCleanupLock)
|
||||
{
|
||||
try
|
||||
{
|
||||
_I_PackageReader._cache?.Clear ();
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
var stritems = JsArrayToList (items).Select (e => e?.ToString ()).ToList ();
|
||||
PackageReader.UpdateApplicationItems (stritems);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,24 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
@@ -34,6 +34,24 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Launch
|
||||
}
|
||||
string appUserModelId = args [0];
|
||||
string argumentLine = BuildCommandLine (args, 1);
|
||||
AppxPackage.PackageManager.ActiveApp (appUserModelId, string.IsNullOrEmpty (argumentLine) ? null : argumentLine);
|
||||
AppxPackage.PackageManager.ActiveApp (appUserModelId, argumentLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
Manager/ShortcutCreateForm.Designer.cs
generated
26
Manager/ShortcutCreateForm.Designer.cs
generated
@@ -115,10 +115,10 @@
|
||||
this.label1.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.label1, 5);
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.label1.Font = new System.Drawing.Font("微软雅黑 Light", 20F);
|
||||
this.label1.Font = new System.Drawing.Font("Segoe UI", 19.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.Location = new System.Drawing.Point(27, 24);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(727, 45);
|
||||
this.label1.Size = new System.Drawing.Size(727, 46);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Create Desktop Shortcut";
|
||||
//
|
||||
@@ -127,7 +127,7 @@
|
||||
this.label2.AutoSize = true;
|
||||
this.tableLayoutPanel1.SetColumnSpan(this.label2, 5);
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.label2.Location = new System.Drawing.Point(27, 79);
|
||||
this.label2.Location = new System.Drawing.Point(27, 80);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(727, 60);
|
||||
this.label2.TabIndex = 1;
|
||||
@@ -147,7 +147,7 @@
|
||||
this.tableLayoutPanel2.Controls.Add(this.label7, 0, 8);
|
||||
this.tableLayoutPanel2.Controls.Add(this.customIconDisplay, 0, 9);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(27, 152);
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(27, 153);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 10;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
@@ -160,7 +160,7 @@
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 39F));
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 18F));
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 13F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(235, 324);
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(235, 323);
|
||||
this.tableLayoutPanel2.TabIndex = 2;
|
||||
//
|
||||
// label3
|
||||
@@ -251,7 +251,7 @@
|
||||
this.customIconDisplay.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.customIconDisplay.Location = new System.Drawing.Point(3, 230);
|
||||
this.customIconDisplay.Name = "customIconDisplay";
|
||||
this.customIconDisplay.Size = new System.Drawing.Size(229, 91);
|
||||
this.customIconDisplay.Size = new System.Drawing.Size(229, 90);
|
||||
this.customIconDisplay.TabIndex = 7;
|
||||
this.customIconDisplay.TabStop = false;
|
||||
//
|
||||
@@ -273,7 +273,7 @@
|
||||
this.tableLayoutPanel3.Controls.Add(this.label12, 0, 9);
|
||||
this.tableLayoutPanel3.Controls.Add(this.shortcutNameInput, 0, 10);
|
||||
this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel3.Location = new System.Drawing.Point(273, 152);
|
||||
this.tableLayoutPanel3.Location = new System.Drawing.Point(273, 153);
|
||||
this.tableLayoutPanel3.Name = "tableLayoutPanel3";
|
||||
this.tableLayoutPanel3.RowCount = 11;
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
@@ -287,7 +287,7 @@
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 18F));
|
||||
this.tableLayoutPanel3.Size = new System.Drawing.Size(235, 324);
|
||||
this.tableLayoutPanel3.Size = new System.Drawing.Size(235, 323);
|
||||
this.tableLayoutPanel3.TabIndex = 3;
|
||||
//
|
||||
// label5
|
||||
@@ -476,14 +476,14 @@
|
||||
this.tableLayoutPanel4.Controls.Add(this.imageSizeList, 0, 1);
|
||||
this.tableLayoutPanel4.Controls.Add(this.imagesPreview, 0, 3);
|
||||
this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel4.Location = new System.Drawing.Point(519, 152);
|
||||
this.tableLayoutPanel4.Location = new System.Drawing.Point(519, 153);
|
||||
this.tableLayoutPanel4.Name = "tableLayoutPanel4";
|
||||
this.tableLayoutPanel4.RowCount = 4;
|
||||
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle());
|
||||
this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel4.Size = new System.Drawing.Size(235, 324);
|
||||
this.tableLayoutPanel4.Size = new System.Drawing.Size(235, 323);
|
||||
this.tableLayoutPanel4.TabIndex = 4;
|
||||
//
|
||||
// label8
|
||||
@@ -500,7 +500,7 @@
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.label9.Location = new System.Drawing.Point(3, 162);
|
||||
this.label9.Location = new System.Drawing.Point(3, 161);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(229, 20);
|
||||
this.label9.TabIndex = 1;
|
||||
@@ -516,7 +516,7 @@
|
||||
this.imageSizeList.Location = new System.Drawing.Point(3, 23);
|
||||
this.imageSizeList.Name = "imageSizeList";
|
||||
this.imageSizeList.RowTemplate.Height = 27;
|
||||
this.imageSizeList.Size = new System.Drawing.Size(229, 136);
|
||||
this.imageSizeList.Size = new System.Drawing.Size(229, 135);
|
||||
this.imageSizeList.TabIndex = 2;
|
||||
this.imageSizeList.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.imageSizeList_CellDoubleClick);
|
||||
//
|
||||
@@ -536,7 +536,7 @@
|
||||
this.imagesPreview.AutoScroll = true;
|
||||
this.imagesPreview.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.imagesPreview.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
|
||||
this.imagesPreview.Location = new System.Drawing.Point(3, 185);
|
||||
this.imagesPreview.Location = new System.Drawing.Point(3, 184);
|
||||
this.imagesPreview.Name = "imagesPreview";
|
||||
this.imagesPreview.Size = new System.Drawing.Size(229, 136);
|
||||
this.imagesPreview.TabIndex = 3;
|
||||
|
||||
@@ -31,6 +31,24 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -78,6 +78,14 @@ namespace PkgCLI
|
||||
}
|
||||
return sb.ToString ().TrimEnd (Environment.NewLine.ToCharArray ());
|
||||
}
|
||||
public static string Format (this string format, params object [] args)
|
||||
{
|
||||
return String.Format (format, args);
|
||||
}
|
||||
public static string Format (this string format, object args)
|
||||
{
|
||||
return String.Format (format, args);
|
||||
}
|
||||
}
|
||||
public static class PackageReaderExt
|
||||
{
|
||||
|
||||
@@ -23,37 +23,18 @@ namespace PkgCLI
|
||||
"/h",
|
||||
"-h"
|
||||
};
|
||||
public static StringResXmlDoc res = new StringResXmlDoc (Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "locale\\pkgcli.xml"));
|
||||
static bool IsHelpParam (string arg) => helpArgs.Contains (arg.Normalize ());
|
||||
static void PrintVersion ()
|
||||
{
|
||||
var verFilePath = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "version");
|
||||
var verFileInst = new _I_File (verFilePath);
|
||||
var verstr = verFileInst.Content?.Trim () ?? "0.0.0.1";
|
||||
Console.WriteLine (
|
||||
$"Package Manager CLI [Version {verstr}]\n(C) Windows Modern. All rights reserved."
|
||||
);
|
||||
Console.WriteLine (String.Format (res.Get ("PKGCLI_VERSION"), verstr));
|
||||
}
|
||||
static void PrintTotalHelp ()
|
||||
{
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli <command> [arguments]
|
||||
|
||||
Commands:
|
||||
/install Install a package.
|
||||
/update Update a package (previous version must be installed).
|
||||
/register Register an app manifest file.
|
||||
/stage Stage a package.
|
||||
/remove Remove the package.
|
||||
/read Read package information.
|
||||
/get List all installed apps.
|
||||
/find Find installed apps.
|
||||
/active Launch an app.
|
||||
/config Configure settings (omit to show current config).
|
||||
/version Display version information.
|
||||
/encoding Set console output encoding. With other commands.
|
||||
/? Show this help.
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_TOTALHELP"));
|
||||
}
|
||||
public static bool IsFilePathInList (List<string> filelist, string file)
|
||||
{
|
||||
@@ -339,28 +320,7 @@ Commands:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /encoding:<code_page|name>
|
||||
pkgcli /en:<code_page|name>
|
||||
|
||||
Operation:
|
||||
Set the console output encoding for the current session.
|
||||
Useful when the output contains non-ASCII characters.
|
||||
|
||||
Arguments:
|
||||
<code_page> Numeric code page identifier (e.g., 65001 for UTF-8, 936 for GB2312).
|
||||
<name> Encoding name (e.g., utf-8, gb2312, windows-1252).
|
||||
|
||||
Examples:
|
||||
pkgcli /encoding:65001 (Set to UTF-8)
|
||||
pkgcli /encoding:utf-8
|
||||
pkgcli /en:936 (Set to GB2312/GBK)
|
||||
pkgcli /en:gb2312
|
||||
|
||||
Note:
|
||||
This setting only affects the current pkgcli process and does not persist.
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_ENCODING"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -378,7 +338,7 @@ Note:
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.WriteLine ($"Warning: Set encoding for output failed. Exception {ex.GetType ()}\nMessage: \n {ex.Message}\nWe will use default encoding.");
|
||||
Console.WriteLine (String.Format (res.Get ("PKGCLI_WARNING_ENCODING"), ex.GetType (), ex.Message));
|
||||
Console.ResetColor ();
|
||||
}
|
||||
}
|
||||
@@ -388,33 +348,7 @@ Note:
|
||||
PrintVersion ();
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli <command> <file_path...> [/developmode] [/force] [/allres]
|
||||
|
||||
Commands:
|
||||
/install Install a package. Supports .appx, .appxbundle, .msix, .msixbundle.
|
||||
/register Register a package. Supports AppxManifest.xml or *.appxmanifest.
|
||||
/update Update an installed app. Supports same formats as /install.
|
||||
/stage Stage a package (pre-deploy). Supports same formats as /install.
|
||||
|
||||
Options (DeploymentOptions flags):
|
||||
/developmode Install/register in development mode. Do not use with bundle packages.
|
||||
/force Force application shutdown to allow registration when the package or its dependencies are in use.
|
||||
/allres Skip resource applicability checks; stage/register all resource packages in a bundle.
|
||||
|
||||
Arguments:
|
||||
<file_path...> One or more package or manifest file paths. Can be:
|
||||
- Direct path to .appx, .msix, .appxbundle, .msixbundle, or .xml manifest.
|
||||
- A .txt file containing a list of such paths (one per line).
|
||||
- If no command is repeated, the command applies to all listed files.
|
||||
|
||||
Examples:
|
||||
pkgcli /install MyApp.appx
|
||||
pkgcli /register /manifest:AppxManifest.xml /developmode
|
||||
pkgcli /update MyApp.msixbundle /force
|
||||
pkgcli /stage MyApp.appx /allres
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_IRUS"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -468,7 +402,7 @@ Examples:
|
||||
{
|
||||
Console.WriteLine ();
|
||||
var file = totallist [i];
|
||||
Console.Write ($"\r({i + 1}/{totallist.Count}) Operation in progress...");
|
||||
Console.Write ("\r" + String.Format (res.Get ("PKGCLI_PROGRESS_OPERATION"), i + 1, totallist.Count));
|
||||
var hr = new _I_HResult (0);
|
||||
var tempope = ope;
|
||||
if (file.Item1 == 1)
|
||||
@@ -476,17 +410,17 @@ Examples:
|
||||
if (cmds.ParamContains ("register")) tempope = RegisterPackageByFullName;
|
||||
}
|
||||
hr = tempope (file.Item2, null, options, prog => {
|
||||
var str = $"\r({i + 1}/{filelist.Count}) Operation in progress... {prog}% of {(int)((i + prog * 0.01) / filelist.Count * 100)}%";
|
||||
var str = "\r" + String.Format (res.Get ("PKGCLI_PROGRESS_OPERATION_WITHPROGRESS"), i + 1, totallist.Count, prog, (int)((i + prog * 0.01) / totallist.Count * 100));
|
||||
Console.Write (str);
|
||||
});
|
||||
if (hr.Failed)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Write ($"\nPackage {i + 1} \"{file.Item2}\" Operation Error ({"0x" + hr.HResult.ToString ("X8")}): \n{hr.Message}");
|
||||
Console.Write ("\n" + String.Format (res.Get ("PKGCLI_ERROR_IRUS_EXCEPTION"), i + 1, file.Item2, "0x" + hr.HResult.ToString ("X8"), hr.Message));
|
||||
Console.ResetColor ();
|
||||
}
|
||||
}
|
||||
Console.WriteLine ("\nAll Done.");
|
||||
Console.WriteLine ("\n" + res.Get ("PKGCLI_COMPLETE_OPERATION"));
|
||||
return;
|
||||
}
|
||||
else if (cmds.ParamsContainsOr ("remove"))
|
||||
@@ -495,28 +429,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /remove <package_full_name> [<package_full_name>...] [/yes]
|
||||
|
||||
Operation:
|
||||
Remove one or more packages.
|
||||
|
||||
Arguments:
|
||||
<package_full_name> The full name of the installed package.
|
||||
Format: <identity_name>_<version>_<architecture>_<resource_id>_<publisher_id>
|
||||
Example: Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe
|
||||
|
||||
Options:
|
||||
/yes Automatically confirm the uninstallation without prompting.
|
||||
Aliases: /y, /agree
|
||||
|
||||
You can specify multiple full names separated by spaces.
|
||||
|
||||
Examples:
|
||||
pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234
|
||||
pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_REMOVE"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -536,30 +449,30 @@ Examples:
|
||||
if (list.Count <= 0) agree = true;
|
||||
else
|
||||
{
|
||||
Console.Write ($"We will uninstall {list.Count} app(-s). Do you want to continue?(Y/N) ");
|
||||
Console.Write (String.Format (res.Get ("PKGCLI_ASK_REMOVE"), list.Count));
|
||||
var userinput = Console.ReadLine ();
|
||||
if (userinput.NEquals ("y") || userinput.NEquals ("yes")) agree = true;
|
||||
else agree = false;
|
||||
}
|
||||
}
|
||||
if (agree == false) throw new OperationCanceledException ("User canceled.");
|
||||
if (agree == false) throw new OperationCanceledException (res.Get ("PKGCLI_ERROR_USERABORT"));
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Console.WriteLine ();
|
||||
var file = list [i];
|
||||
Console.Write ($"\r({i + 1}/{list.Count}) Operation in progress...");
|
||||
Console.Write ("\r" + String.Format (res.Get ("PKGCLI_PROGRESS_OPERATION"), i + 1, list.Count));
|
||||
var hr = RemovePackage (file, prog => {
|
||||
var str = $"\r({i + 1}/{list.Count}) Operation in progress... {prog}% of {(int)((i + prog * 0.01) / list.Count * 100)}%";
|
||||
var str = "\r" + String.Format (res.Get ("PKGCLI_PROGRESS_OPERATION_WITHPROGRESS"), i + 1, list.Count, prog, (int)((i + prog * 0.01) / list.Count * 100));
|
||||
Console.Write (str);
|
||||
});
|
||||
if (hr.Failed)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Write ($"\nPackage {i + 1} \"{file}\" Operation Error ({"0x" + hr.HResult.ToString ("X8")}): \n{hr.Message}");
|
||||
Console.Write ("\n" + String.Format (res.Get ("PKGCLI_ERROR_IRUS_EXCEPTION"), i + 1, file, "0x" + hr.HResult.ToString ("X8"), hr.Message));
|
||||
Console.ResetColor ();
|
||||
}
|
||||
}
|
||||
Console.WriteLine ("\nAll Done.");
|
||||
Console.WriteLine ("\n" + res.Get ("PKGCLI_COMPLETE_OPERATION"));
|
||||
return;
|
||||
}
|
||||
else if (cmds.ParamsContainsOr ("get"))
|
||||
@@ -568,30 +481,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /get [/filter:<filter1,filter2,...>]
|
||||
|
||||
Operation:
|
||||
List all installed packages with their properties.
|
||||
|
||||
Options:
|
||||
/filter:<filters> Show only the specified properties.
|
||||
Filters are case-insensitive and support '*' wildcard.
|
||||
Multiple filters separated by comma ',' or semicolon ';'.
|
||||
Examples:
|
||||
/filter:Identity:Name,Identity:Version
|
||||
/filter:Identity:* (all Identity properties)
|
||||
/filter:Properties:DisplayName
|
||||
|
||||
Output:
|
||||
Each package is printed as a section [FullName] followed by key = value lines.
|
||||
Redirect output to a file to save as INI-like format.
|
||||
|
||||
Examples:
|
||||
pkgcli /get
|
||||
pkgcli /get /filter:Identity:FullName,Properties:DisplayName
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_GET"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -611,7 +501,7 @@ Examples:
|
||||
if (hr.Item1.Failed)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine ($"Operation Error ({"0x" + hr.Item1.HResult.ToString ("X8")}): \n{hr.Item1.Message}");
|
||||
Console.WriteLine (String.Format (res.Get ("PKGCLI_ERROR_EXCEPTION"), "0x" + hr.Item1.HResult.ToString ("X8"), hr.Item1.Message));
|
||||
Console.ResetColor ();
|
||||
return;
|
||||
}
|
||||
@@ -630,28 +520,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine(@"
|
||||
Usage:
|
||||
pkgcli /find <package_full_name|package_family_name> [/filter:<filters>]
|
||||
pkgcli /find <identity_name> <identity_publisher> [/filter:<filters>]
|
||||
|
||||
Operation:
|
||||
Find installed packages matching the given identifier.
|
||||
|
||||
Arguments:
|
||||
<package_full_name> Full name of a package.
|
||||
<package_family_name> Family name of a package.
|
||||
<identity_name> Name part of the package identity (e.g., ""Microsoft.WindowsStore"").
|
||||
<identity_publisher> Publisher part (e.g., ""CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"").
|
||||
|
||||
Options:
|
||||
/filter:<filters> Same as in /get command.
|
||||
|
||||
Examples:
|
||||
pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /find Microsoft.WindowsStore
|
||||
pkgcli /find Microsoft.WindowsStore ""CN=Microsoft Corporation, ...""
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_FIND"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -715,24 +584,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /active <app_user_model_id> [arguments]
|
||||
|
||||
Operation:
|
||||
Launch (activate) a Universal Windows Platform (UWP) app.
|
||||
|
||||
Arguments:
|
||||
<app_user_model_id> The Application User Model ID (AUMID).
|
||||
Format: <package_family_name>!<app_id>
|
||||
Example: Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
|
||||
[arguments] Optional command-line arguments passed to the app.
|
||||
|
||||
Examples:
|
||||
pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /active MyAppFamily!App --fullscreen --debug
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_ACTIVATE"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -747,11 +599,11 @@ Examples:
|
||||
if (args [i].NNormalize ().IndexOf (c.Value.NNormalize ()) >= 0) break;
|
||||
}
|
||||
var hr = ActiveApp (c.Value, BuildCommandLine (args, i + 1));
|
||||
if (hr.Succeeded) Console.WriteLine ("Done.");
|
||||
if (hr.Succeeded) Console.WriteLine (res.Get ("PKGCLI_COMPLETE_DONE"));
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Write ($"Operation Error ({"0x" + hr.HResult.ToString ("X8")}): \n{hr.Message}");
|
||||
Console.Write (String.Format (res.Get ("PKGCLI_ERROR_EXCEPTION"), "0x" + hr.HResult.ToString ("X8"), hr.Message));
|
||||
Console.ResetColor ();
|
||||
}
|
||||
return;
|
||||
@@ -765,54 +617,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /read [options] [<file>]
|
||||
|
||||
Description:
|
||||
Read an Appx/MSIX package (.appx, .appxbundle, .msix, .msixbundle) or its manifest file (.xml, .appxpackage, .msixpackage).
|
||||
Extracts package/manifest information and outputs as JSON to the console, or saves as a ZIP archive containing either info.json or info.xml.
|
||||
|
||||
Options:
|
||||
/manifest:<file> Specify a manifest file to read.
|
||||
/package:<file> Specify a package file to read.
|
||||
<file> If no /manifest or /package is provided, the first unnamed parameter is used as the input file.
|
||||
File type is auto-detected by extension:
|
||||
.xml, .appxpackage, .msixpackage → ManifestReader
|
||||
.appx, .appxbundle, .msix, .msixbundle → PackageReader
|
||||
|
||||
/item:<path> Instead of outputting the whole JSON object, output only the value at the given path.
|
||||
Path syntax: use '.' or ':' as separators, case-insensitive.
|
||||
Supports indexers (e.g., [0]), .length for collections, and automatic Base64 access (e.g., LogoBase64).
|
||||
Examples:
|
||||
/item:Identity.Name
|
||||
/item:Properties.Publisher
|
||||
/item:applications[0]
|
||||
/item:applications.length
|
||||
/item:applications[0].LogoBase64
|
||||
|
||||
/usepri Enable PRI resource resolution (localization and scaled images). Required for proper resource string and image resolution.
|
||||
|
||||
/savexml:<output> Save extracted data as an XML file wrapped in a ZIP archive.
|
||||
The archive will contain an info.xml file with the structured data.
|
||||
|
||||
/savejson:<output> Save extracted data as a JSON file wrapped in a ZIP archive.
|
||||
The archive will contain an info.json file with the structured data.
|
||||
|
||||
/help Display this help text.
|
||||
|
||||
Output Behavior:
|
||||
- If neither /savexml nor /savejson is given, the information is printed directly to the console as JSON.
|
||||
- If /item is used, only the value at the specified path is printed (as a string, version, or formatted JSON).
|
||||
- If /savexml or /savejson is used, the data is saved to the specified file (ZIP archive) and a success/failure message is shown.
|
||||
|
||||
Examples:
|
||||
pkgcli /read MyApp.appx
|
||||
pkgcli /read /manifest:AppxManifest.xml /usepri
|
||||
pkgcli /read /package:MyApp.msixbundle /item:Identity.Name
|
||||
pkgcli /read /package:MyApp.appx /savejson:output.zip
|
||||
pkgcli /read MyApp.appx /item:applications[0].DisplayName
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_READ"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -954,26 +759,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /config Show current configuration (all keys).
|
||||
pkgcli /config /show:<key> Show value of a specific configuration key.
|
||||
pkgcli /config /set:<key> <value> Set configuration key to the given value.
|
||||
pkgcli /config /refresh Reload configuration from config.ini.
|
||||
|
||||
Configuration keys:
|
||||
AppMetadataItems Comma-separated list of application metadata fields to read from manifests.
|
||||
Default: ""Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo""
|
||||
|
||||
Configuration file:
|
||||
config.ini in the same directory as pkgcli.exe.
|
||||
|
||||
Examples:
|
||||
pkgcli /config
|
||||
pkgcli /config /show:AppMetadataItems
|
||||
pkgcli /config /set:AppMetadataItems ""Id,DisplayName,Logo""
|
||||
pkgcli /config /refresh
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_CONFIG"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -984,7 +770,7 @@ Examples:
|
||||
{
|
||||
var cmd = cmds.GetFromId ("set");
|
||||
var key = cmd.Value;
|
||||
if (string.IsNullOrWhiteSpace (key)) throw new InvalidOperationException ($"key is empty");
|
||||
if (string.IsNullOrWhiteSpace (key)) throw new InvalidOperationException (Program.res.Get ("PKGCLI_ERROR_KEYSTRINGEMPTY"));
|
||||
var isfind = false;
|
||||
foreach (var i in configItems)
|
||||
{
|
||||
@@ -994,7 +780,7 @@ Examples:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isfind) throw new KeyNotFoundException ($"Error: cannot find the key \"{key}\"");
|
||||
if (!isfind) throw new KeyNotFoundException (String.Format (Program.res.Get("PKGCLI_ERROR_CANNOTFINDKEY"), key));
|
||||
var valuelist = new List<string> ();
|
||||
foreach (var c in cmds)
|
||||
{
|
||||
@@ -1032,7 +818,7 @@ Examples:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isfind) throw new KeyNotFoundException ($"Error: cannot find the key \"{key}\"");
|
||||
if (!isfind) throw new KeyNotFoundException (String.Format (Program.res.Get ("PKGCLI_ERROR_CANNOTFINDKEY"), key));
|
||||
var value = sSettings.GetKey ($"PkgCLI:{key.Trim ()}").ReadString ("(use default)");
|
||||
Console.WriteLine (value);
|
||||
}
|
||||
@@ -1044,18 +830,7 @@ Examples:
|
||||
if (CliPasingUtils.ParamContains (cmds, "help"))
|
||||
{
|
||||
PrintVersion ();
|
||||
Console.WriteLine (@"
|
||||
Usage:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
|
||||
Operation:
|
||||
Display the current version of Package Manager CLI.
|
||||
|
||||
Examples:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
");
|
||||
Console.WriteLine (res.Get ("PKGCLI_HELP_VERSION"));
|
||||
return;
|
||||
}
|
||||
#endregion
|
||||
@@ -1072,7 +847,7 @@ Examples:
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine ($"Exception {ex.GetType ()}, \nMessage: \n {ex.Message}\nStack: \n {ex.StackTrace}");
|
||||
Console.WriteLine (String.Format (res.Get ("PKGCLI_ERROR_FINALEXCEPTION"), ex.GetType (), ex.Message, ex.StackTrace));
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@@ -142,6 +142,11 @@ namespace PriFileFormat
|
||||
comStream.SetSize (value);
|
||||
}
|
||||
}
|
||||
public override void Close ()
|
||||
{
|
||||
comStream = null;
|
||||
base.Close ();
|
||||
}
|
||||
~ComStreamWrapper () { comStream = null;}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,11 +174,15 @@ namespace PriFileFormat
|
||||
}
|
||||
~HierarchicalSchemaSection ()
|
||||
{
|
||||
Version = null;
|
||||
foreach (var item in Items) { item.Parent = null; }
|
||||
foreach (var scope in Scopes) { scope.Parent = null; }
|
||||
Scopes = null;
|
||||
Items = null;
|
||||
try
|
||||
{
|
||||
Version = null;
|
||||
foreach (var item in Items) { item.Parent = null; }
|
||||
foreach (var scope in Scopes) { scope.Parent = null; }
|
||||
Scopes = null;
|
||||
Items = null;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
// Checksum computation is buggy for some files
|
||||
|
||||
|
||||
@@ -35,6 +35,25 @@
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -48,7 +67,6 @@
|
||||
<Compile Include="ByteSpan.cs" />
|
||||
<Compile Include="ComStreamWrapper.cs" />
|
||||
<Compile Include="DataItemSection.cs" />
|
||||
<Compile Include="DataTree.cs" />
|
||||
<Compile Include="DecisionInfoSection.cs" />
|
||||
<Compile Include="HierarchicalSchemaSection.cs" />
|
||||
<Compile Include="PriDescriptorSection.cs" />
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/></startup></configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
|
||||
@@ -30,6 +30,25 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -12,12 +12,21 @@
|
||||
<p>Download the latest release from the Releases section.</p>
|
||||
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset/releases" target="_blank"><img src="https://img.shields.io/github/v/release/modernw/App-Installer-For-Windows-8.x-Reset"></a>
|
||||
<p>Note: There is no official release yet, but the test version still does not have the Pre-released label; this is for testing upgrade functionality. Once the official release is complete, previous versions will be marked as Pre-released.</p>
|
||||
<p>Note 2: Ensure that .NET Framework 4.6 is installed on your computer, as the runtime libraries automatically installed by the installer may not actually be installed on your system. Therefore, after completing the installation via the installer, be sure to download and run the .NET Framework 4.6 runtime library installer again.</p>
|
||||
<p>Note 3: The x86 runtime library must be installed, as the program itself is compiled for the x86 architecture. (Unless the program is compiled for the ARM architecture, in which case the ARM runtime library must be installed.)</p>
|
||||
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset/releases/tag/0.0.0.0" target="blank">Download Runtime Libraries</a><br>
|
||||
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset/releases/download/0.0.0.1/depsinstaller.zip" target="blank">Download Dependencies for Metro Apps</a>
|
||||
<h2>Attention</h2>
|
||||
<ul>
|
||||
<li><del>This program is an x86 program, not an ARM application, not cross-platform, and cannot be used on Windows RT.</del></li>
|
||||
<li>The program uses some third-party libraries and other GitHub projects, and is completed with the assistance of AI (ChatGTP). This project can be used for learning and communication purposes.</li>
|
||||
<li>(Important) Internet Explorer must support TLS 1.2 (requiring the use of IE's XMLHttpRequest to retrieve update information), especially IE10. You can do this by opening the "Advanced" tab in Control Panel/Internet Explorer's "Internet Options," finding "Use TLS 1.2" and checking the box, then clicking "OK" and saving. The settings will take effect the next time you open the browser.<br><img width="300" height="395" alt="屏幕截图 2025-12-08 103450" src="https://github.com/user-attachments/assets/69ee21ca-7f47-4d56-8dde-37e5704776c1" /></li>
|
||||
</ul>
|
||||
<h2>Special Thanks</h2>
|
||||
<a href="https://github.com/modernw/App-Installer-For-Windows-8.x-Reset/graphs/contributors">
|
||||
<!-- Made with [contrib.rocks](https://contrib.rocks). -->
|
||||
<img src="https://contrib.rocks/image?repo=modernw/App-Installer-For-Windows-8.x-Reset" />
|
||||
</a>
|
||||
<hr>
|
||||
<p>(Translated by Google Translate)</p>
|
||||
<picture>
|
||||
|
||||
@@ -36,6 +36,24 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Project1.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -29,6 +29,25 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<WarningLevel>2</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>..\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>default</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
|
||||
@@ -1808,6 +1808,7 @@ std::vector <std::wstring> LoadFileListW (const std::wstring &filePath)
|
||||
std::wstring line;
|
||||
while (std::getline (file, line))
|
||||
{
|
||||
line = std::wnstring::trim (line);
|
||||
if (!line.empty () && line.back () == L'\r') line.pop_back ();
|
||||
if (!line.empty () && !std::wnstring::empty (line) && IsFileExists (line)) result.push_back (line);
|
||||
auto fullFile = CombinePath (GetFileDirectoryW (filePath), line);
|
||||
|
||||
@@ -269,7 +269,7 @@ std::string GetSuitableLanguageValue (const std::map <std::nstring, std::string>
|
||||
if (map.empty ()) return "";
|
||||
std::string ret = GetSuitableLanguageValue (map, pugi::as_utf8 (GetComputerLocaleCodeW ()));
|
||||
if (ret.empty ()) ret = GetSuitableLanguageValue (map, "en-US");
|
||||
if (ret.empty ()) ret = map.begin ()->second;
|
||||
//if (ret.empty ()) ret = map.begin ()->second;
|
||||
return ret;
|
||||
}
|
||||
struct xmldoc
|
||||
@@ -323,7 +323,8 @@ std::wstring GetCapabilityDisplayName (const std::wstring &capname)
|
||||
{
|
||||
for (auto &it : g_nameToId)
|
||||
{
|
||||
if (it.first == searchname) return GetRCStringSW (it.second);
|
||||
if (it.first == searchname)
|
||||
return GetRCStringSW (it.second);
|
||||
}
|
||||
}
|
||||
else return ret;
|
||||
|
||||
Binary file not shown.
205
priformatcli/priformatcli - 副本.vcxproj
Normal file
205
priformatcli/priformatcli - 副本.vcxproj
Normal file
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{33D91B58-1981-4A3C-B4D1-86EE406CDE12}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>priformatcli</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="localeex.h" />
|
||||
<ClInclude Include="mpstr.h" />
|
||||
<ClInclude Include="nstring.h" />
|
||||
<ClInclude Include="prifile.h" />
|
||||
<ClInclude Include="priformatcli.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="strcmp.h" />
|
||||
<ClInclude Include="syncutil.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="themeinfo.h" />
|
||||
<ClInclude Include="typestrans.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dllmain.cpp">
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="priformatcli.cpp" />
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="priformatcli.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PriFileFormat\PriFile.csproj">
|
||||
<Project>{ef4012d4-ef08-499c-b803-177739350b2d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -224,7 +224,7 @@ typedef class prifile
|
||||
{
|
||||
LPWSTR lpstr = nullptr;
|
||||
reltask release ([&lpstr] () {
|
||||
if (lpstr) free (lpstr);
|
||||
if (lpstr) PriFormatFreeString (lpstr);
|
||||
lpstr = nullptr;
|
||||
});
|
||||
lpstr = GetPriResource (m_hPriFile, resname.c_str ());
|
||||
|
||||
@@ -127,6 +127,7 @@
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
supportDisplay.classList.add("not-support");
|
||||
supportDisplay.classList.remove("support");
|
||||
}
|
||||
supportDisplay.setAttribute("title", strutils.format("OS Min Version: {0}, Architecture: {1}", support.showOsminversionText, support.showArchitectureText));
|
||||
supportDisplay.setAttribute("title", strutils.format(Bridge.Resources.byname("IDS_PREINSTALL_SUITCONDITION"), support.showOsminversionText, support.showArchitectureText));
|
||||
var hres = Bridge.Package.installResult(this.value);
|
||||
if (hres && hres.failed) {
|
||||
reason.textContent = hres.message;
|
||||
|
||||
@@ -127,4 +127,11 @@
|
||||
.win-ui-dark .win-contentdialog .win-contentdialog-dialog,
|
||||
.win-contentdialog.win-ui-dark .win-contentdialog-dialog {
|
||||
background-color: rgb(31, 0, 104);
|
||||
}
|
||||
|
||||
.win-ui-dark .win-contentdialog .win-contentdialog-dialog button[type=submit],
|
||||
.win-contentdialog.win-ui-dark .win-contentdialog-dialog button[type=submit],
|
||||
.win-ui-dark .win-contentdialog .win-contentdialog-dialog input[type=submit],
|
||||
.win-contentdialog.win-ui-dark .win-contentdialog-dialog input[type=submit] {
|
||||
border-color: white;
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
This library is supported for use in Windows Store apps only.
|
||||
|
||||
Build: 1.0.9200.20602.win8_ldr.130108-1504
|
||||
Build: 1.0.9200.20789.win8_ldr.130802-2151
|
||||
|
||||
Version: Microsoft.WinJS.1.0
|
||||
*/
|
||||
@@ -12320,7 +12320,7 @@ WinJS.Namespace.define("WinJS.UI", {
|
||||
|
||||
var animations = WinJS.UI.Animation;
|
||||
|
||||
var leftBufferAmount = 500,
|
||||
var leftBufferAmount = 50,
|
||||
itemSelectedEventDelay = 250;
|
||||
|
||||
var strings = {
|
||||
@@ -12401,8 +12401,9 @@ WinJS.Namespace.define("WinJS.UI", {
|
||||
}, true);
|
||||
this._panningDivContainer.addEventListener("MSManipulationStateChanged", function (event) {
|
||||
that._manipulationState = event.currentState;
|
||||
if (event.currentState === 0) {
|
||||
if (event.currentState === 0 && event.srcElement === that._panningDivContainer) {
|
||||
that._itemSettledOn();
|
||||
that._ensureCentered();
|
||||
}
|
||||
}, true);
|
||||
},
|
||||
|
||||
@@ -110,11 +110,11 @@
|
||||
<div id="page-appinfo" class="ispage app-detailpage" style="display: none;">
|
||||
<header>
|
||||
<button class="win-backbutton"></button>
|
||||
<h2 class="display-name">App DisplayName</h2>
|
||||
<h2 class="display-name"></h2>
|
||||
</header>
|
||||
<span class="publisher-display-name">App PublisherDisplayName</span><br>
|
||||
<span class="version">App Version</span><br>
|
||||
<span class="description">App Description</span>
|
||||
<span class="publisher-display-name"></span><br>
|
||||
<span class="version"></span><br>
|
||||
<span class="description"></span>
|
||||
<p><strong data-res-resxml="MANAGER_APP_IDENTITY"></strong></p>
|
||||
<div class="identity win-type-body" style="width: 100%; max-width: 100%; box-sizing: border-box; -ms-user-select: element;">
|
||||
<span style="font-weight: bold;" data-res-resxml="MANAGER_APP_IDENTITY_NAME"></span><span>: </span><span class="name"></span><br>
|
||||
|
||||
@@ -252,6 +252,7 @@
|
||||
var readSave = document.getElementById("read-result-save");
|
||||
var readToXml = document.getElementById("read-result-xml");
|
||||
var readToJson = document.getElementById("read-result-json");
|
||||
var readRefreshItem = document.getElementById("read-refreshmetadata");
|
||||
readUsepri.checked = set.getKey("PackageReader:DefaultParsingPriFile").readBool();
|
||||
readResult.style.display = "none";
|
||||
readBtn.onclick = function() {
|
||||
@@ -265,6 +266,7 @@
|
||||
readToXml.disabled = true;
|
||||
readToJson.disabled = true;
|
||||
readUsepri.disabled = true;
|
||||
readRefreshItem.disabled = true;
|
||||
|
||||
function onCompleted() {
|
||||
self.disabled = false;
|
||||
@@ -274,6 +276,7 @@
|
||||
readToXml.disabled = false;
|
||||
readToJson.disabled = false;
|
||||
readUsepri.disabled = false;
|
||||
readRefreshItem.disabled = false;
|
||||
}
|
||||
if (!readPkgpath.value) {
|
||||
readResult.style.display = "";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
579
shared/locale/pkgcli.xml
Normal file
579
shared/locale/pkgcli.xml
Normal file
@@ -0,0 +1,579 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<resource id="PKGCLI_VERSION">
|
||||
<lang name="zh-CN"><![CDATA[Package Manager CLI [版本 {0}]
|
||||
(C) Windows Modern。保留所有权利。]]></lang>
|
||||
<lang name="en-US"><![CDATA[Package Manager CLI [Version {0}]
|
||||
(C) Windows Modern. All rights reserved.]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_TOTALHELP">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli <命令> [参数列表]
|
||||
|
||||
命令:
|
||||
/install 安装一个包。
|
||||
/update 更新一个包(必须已安装旧版本)。
|
||||
/register 注册一个应用程序清单文件。
|
||||
/stage 暂存一个包。
|
||||
/remove 移除包。
|
||||
/read 读取包信息。
|
||||
/get 列出所有已安装的应用。
|
||||
/find 查找已安装的应用。
|
||||
/active 启动一个应用。
|
||||
/config 配置设置。
|
||||
/version 显示版本信息。
|
||||
/encoding 设置控制台输出编码。可与其他命令一起使用。
|
||||
/? 显示本帮助信息。
|
||||
|
||||
您可以使用“pkgcli <命令> /?”来获取有关该命令的详细信息。
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli <command> [arguments]
|
||||
|
||||
Commands:
|
||||
/install Install a package.
|
||||
/update Update a package (previous version must be installed).
|
||||
/register Register an app manifest file.
|
||||
/stage Stage a package.
|
||||
/remove Remove the package.
|
||||
/read Read package information.
|
||||
/get List all installed apps.
|
||||
/find Find installed apps.
|
||||
/active Launch an app.
|
||||
/config Configure settings.
|
||||
/version Display version information.
|
||||
/encoding Set console output encoding. With other commands.
|
||||
/? Show this help.
|
||||
|
||||
You can use "pkgcli <command> /?" to get the detail infomation about this command.
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_ENCODING">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /encoding:<代码页|名称>
|
||||
pkgcli /en:<代码页|名称>
|
||||
|
||||
操作说明:
|
||||
为当前会话设置控制台输出编码。
|
||||
当输出内容包含非 ASCII 字符时非常有用。
|
||||
|
||||
参数:
|
||||
<代码页> 数字代码页标识符(例如 65001 表示 UTF-8,936 表示 GB2312)。
|
||||
<名称> 编码名称(例如 utf-8、gb2312、windows-1252)。
|
||||
|
||||
示例:
|
||||
pkgcli /encoding:65001 (设置为 UTF-8)
|
||||
pkgcli /encoding:utf-8
|
||||
pkgcli /en:936 (设置为 GB2312/GBK)
|
||||
pkgcli /en:gb2312
|
||||
|
||||
注意:
|
||||
此设置仅影响当前 pkgcli 进程,不会持久保存。
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /encoding:<code_page|name>
|
||||
pkgcli /en:<code_page|name>
|
||||
|
||||
Operation:
|
||||
Set the console output encoding for the current session.
|
||||
Useful when the output contains non-ASCII characters.
|
||||
|
||||
Arguments:
|
||||
<code_page> Numeric code page identifier (e.g., 65001 for UTF-8, 936 for GB2312).
|
||||
<name> Encoding name (e.g., utf-8, gb2312, windows-1252).
|
||||
|
||||
Examples:
|
||||
pkgcli /encoding:65001 (Set to UTF-8)
|
||||
pkgcli /encoding:utf-8
|
||||
pkgcli /en:936 (Set to GB2312/GBK)
|
||||
pkgcli /en:gb2312
|
||||
|
||||
Note:
|
||||
This setting only affects the current pkgcli process and does not persist.
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_IRUS">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli <命令> <文件路径...> [/developmode] [/force] [/allres]
|
||||
|
||||
命令:
|
||||
/install 安装一个包。支持 .appx、.appxbundle、.msix、.msixbundle。
|
||||
/register 注册一个包。支持 AppxManifest.xml 或 *.appxmanifest。
|
||||
/update 更新已安装的应用。支持的格式与 /install 相同。
|
||||
/stage 暂存一个包(预部署)。支持的格式与 /install 相同。
|
||||
|
||||
选项(部署选项标志):
|
||||
/developmode 以开发模式安装/注册。请勿与捆绑包一起使用。
|
||||
/force 当包或其依赖项正在使用时,强制关闭应用程序以允许注册。
|
||||
/allres 跳过资源适用性检查;暂存/注册捆绑包中的所有资源包。
|
||||
|
||||
参数:
|
||||
<文件路径...> 一个或多个包或清单文件路径。可以是:
|
||||
- 直接指向 .appx、.msix、.appxbundle、.msixbundle 或 .xml 清单的路径。
|
||||
- 一个包含此类路径列表的 .txt 文件(每行一个路径)。
|
||||
- 如果命令没有重复,则该命令适用于所有列出的文件。
|
||||
|
||||
示例:
|
||||
pkgcli /install MyApp.appx
|
||||
pkgcli /register /manifest:AppxManifest.xml /developmode
|
||||
pkgcli /update MyApp.msixbundle /force
|
||||
pkgcli /stage MyApp.appx /allres
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli <command> <file_path...> [/developmode] [/force] [/allres]
|
||||
|
||||
Commands:
|
||||
/install Install a package. Supports .appx, .appxbundle, .msix, .msixbundle.
|
||||
/register Register a package. Supports AppxManifest.xml or *.appxmanifest.
|
||||
/update Update an installed app. Supports same formats as /install.
|
||||
/stage Stage a package (pre-deploy). Supports same formats as /install.
|
||||
|
||||
Options (DeploymentOptions flags):
|
||||
/developmode Install/register in development mode. Do not use with bundle packages.
|
||||
/force Force application shutdown to allow registration when the package or its dependencies are in use.
|
||||
/allres Skip resource applicability checks; stage/register all resource packages in a bundle.
|
||||
|
||||
Arguments:
|
||||
<file_path...> One or more package or manifest file paths. Can be:
|
||||
- Direct path to .appx, .msix, .appxbundle, .msixbundle, or .xml manifest.
|
||||
- A .txt file containing a list of such paths (one per line).
|
||||
- If no command is repeated, the command applies to all listed files.
|
||||
|
||||
Examples:
|
||||
pkgcli /install MyApp.appx
|
||||
pkgcli /register /manifest:AppxManifest.xml /developmode
|
||||
pkgcli /update MyApp.msixbundle /force
|
||||
pkgcli /stage MyApp.appx /allres
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_REMOVE">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /remove <包全名> [<包全名>...] [/yes]
|
||||
|
||||
操作说明:
|
||||
移除一个或多个包。
|
||||
|
||||
参数:
|
||||
<包全名> 已安装包的全名 (Package Full Name)。
|
||||
格式:<标识名>_<版本号>_<处理器架构>_<资源ID>_<发布者ID>
|
||||
示例:Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe
|
||||
|
||||
选项:
|
||||
/yes 自动确认卸载,不进行提示。
|
||||
别名:/y、/agree
|
||||
|
||||
您可以指定多个包全名,用空格分隔。
|
||||
|
||||
示例:
|
||||
pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234
|
||||
pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /remove <package_full_name> [<package_full_name>...] [/yes]
|
||||
|
||||
Operation:
|
||||
Remove one or more packages.
|
||||
|
||||
Arguments:
|
||||
<package_full_name> The full name of the installed package.
|
||||
Format: <identity_name>_<version>_<architecture>_<resource_id>_<publisher_id>
|
||||
Example: Microsoft.WinJS.1.0_1.0.9200.20789_neutral__8wekyb3d8bbwe
|
||||
|
||||
Options:
|
||||
/yes Automatically confirm the uninstallation without prompting.
|
||||
Aliases: /y, /agree
|
||||
|
||||
You can specify multiple full names separated by spaces.
|
||||
|
||||
Examples:
|
||||
pkgcli /remove MyPackage_1.0.0.0_x64__abcd1234
|
||||
pkgcli /remove PackageA_1.0.0.0_neutral__abcd1234 PackageB_2.0.0.0_x86__efgh5678 /yes
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_GET">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /get [/filter:<筛选器1,筛选器2,...>]
|
||||
|
||||
操作说明:
|
||||
列出所有已安装包及其属性。
|
||||
|
||||
注意:
|
||||
若想执行此命令,请以管理员模式运行。
|
||||
|
||||
选项:
|
||||
/filter:<筛选器> 仅显示指定的属性。
|
||||
筛选器不区分大小写,支持通配符“*”。
|
||||
多个筛选器用逗号“,”或分号“;”分隔。
|
||||
示例:
|
||||
/filter:Identity:Name,Identity:Version
|
||||
/filter:Identity:* (所有 Identity 属性)
|
||||
/filter:Properties:DisplayName
|
||||
|
||||
输出:
|
||||
每个包以 [FullName] 节的形式输出,后跟 key = value 行。
|
||||
可将输出重定向到文件,以保存为类似 INI 的格式。
|
||||
|
||||
示例:
|
||||
pkgcli /get
|
||||
pkgcli /get /filter:Identity:FullName,Properties:DisplayName
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /get [/filter:<filter1,filter2,...>]
|
||||
|
||||
Operation:
|
||||
List all installed packages with their properties.
|
||||
|
||||
Note:
|
||||
To run this command, please use Administrator mode.
|
||||
|
||||
Options:
|
||||
/filter:<filters> Show only the specified properties.
|
||||
Filters are case-insensitive and support '*' wildcard.
|
||||
Multiple filters separated by comma ',' or semicolon ';'.
|
||||
Examples:
|
||||
/filter:Identity:Name,Identity:Version
|
||||
/filter:Identity:* (all Identity properties)
|
||||
/filter:Properties:DisplayName
|
||||
|
||||
Output:
|
||||
Each package is printed as a section [FullName] followed by key = value lines.
|
||||
Redirect output to a file to save as INI-like format.
|
||||
|
||||
Examples:
|
||||
pkgcli /get
|
||||
pkgcli /get /filter:Identity:FullName,Properties:DisplayName
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_FIND">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /find <包全名|包系列名> [/filter:<筛选器>]
|
||||
pkgcli /find <标识名> <标识发布者> [/filter:<筛选器>]
|
||||
|
||||
操作说明:
|
||||
查找与给定标识符匹配的已安装包。
|
||||
|
||||
注意:
|
||||
若想执行此命令,请以管理员模式运行。
|
||||
|
||||
参数:
|
||||
<包全名> 包的全名。
|
||||
<包系列名> 包的系列名。
|
||||
<标识名> 包标识的名称部分(例如 "Microsoft.WindowsStore")。
|
||||
<标识发布者> 发布者部分(例如 "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US")。
|
||||
|
||||
选项:
|
||||
/filter:<筛选器> 与 /get 命令中的 /filter 相同。
|
||||
|
||||
示例:
|
||||
pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /find Microsoft.WindowsStore
|
||||
pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..."
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /find <package_full_name|package_family_name> [/filter:<filters>]
|
||||
pkgcli /find <identity_name> <identity_publisher> [/filter:<filters>]
|
||||
|
||||
Operation:
|
||||
Find installed packages matching the given identifier.
|
||||
|
||||
Note:
|
||||
To run this command, please use Administrator mode.
|
||||
|
||||
Arguments:
|
||||
<package_full_name> Full name of a package.
|
||||
<package_family_name> Family name of a package.
|
||||
<identity_name> Name part of the package identity (e.g., "Microsoft.WindowsStore").
|
||||
<identity_publisher> Publisher part (e.g., "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US").
|
||||
|
||||
Options:
|
||||
/filter:<filters> Same as in /get command.
|
||||
|
||||
Examples:
|
||||
pkgcli /find Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /find Microsoft.WindowsStore
|
||||
pkgcli /find Microsoft.WindowsStore "CN=Microsoft Corporation, ..."
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_ACTIVATE">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /active <app_user_model_id> [args]
|
||||
|
||||
操作说明:
|
||||
启动一个 Windows 商店应用。
|
||||
|
||||
参数:
|
||||
<app_user_model_id> App User Model ID (AUMID)。
|
||||
格式:<包系列名>!<应用ID>
|
||||
示例:Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
|
||||
[args] 传递给应用的可选命令行参数。
|
||||
|
||||
示例:
|
||||
pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /active MyAppFamily!App --fullscreen --debug
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /active <app_user_model_id> [arguments]
|
||||
|
||||
Operation:
|
||||
Launch a Windows Store app.
|
||||
|
||||
Arguments:
|
||||
<app_user_model_id> The Application User Model ID (AUMID).
|
||||
Format: <package_family_name>!<app_id>
|
||||
Example: Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
|
||||
[arguments] Optional command-line arguments passed to the app.
|
||||
|
||||
Examples:
|
||||
pkgcli /active Microsoft.WindowsStore_8wekyb3d8bbwe!App
|
||||
pkgcli /active MyAppFamily!App --fullscreen --debug
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_READ">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /read [选项] [<文件>]
|
||||
|
||||
说明:
|
||||
读取 Appx/MSIX 包(.appx、.appxbundle、.msix、.msixbundle)或其清单文件(.xml、.appxpackage、.msixpackage)。
|
||||
提取包/清单信息,并以 JSON 格式输出到控制台,或保存为包含 info.json 或 info.xml 的 ZIP 压缩包。
|
||||
|
||||
选项:
|
||||
/manifest:<文件> 指定要读取的清单文件。
|
||||
/package:<文件> 指定要读取的包文件。
|
||||
<文件> 如果未提供 /manifest 或 /package,则使用第一个无名参数作为输入文件。
|
||||
文件类型根据扩展名自动检测:
|
||||
.xml、.appxpackage、.msixpackage → 使用清单读取器
|
||||
.appx、.appxbundle、.msix、.msixbundle → 使用包读取器
|
||||
|
||||
/item:<路径> 不输出整个 JSON 对象,仅输出给定路径下的值。
|
||||
路径语法:使用 '.' 或 ':' 作为分隔符,不区分大小写。
|
||||
支持索引器(例如 [0])、集合的 .length 以及自动 Base64 访问(例如 LogoBase64)。
|
||||
示例:
|
||||
/item:Identity.Name
|
||||
/item:Properties.Publisher
|
||||
/item:applications[0]
|
||||
/item:applications.length
|
||||
/item:applications[0].LogoBase64
|
||||
|
||||
/usepri 启用 PRI 资源解析(本地化和缩放图片)。要正确解析资源字符串和图片,需要此选项。
|
||||
|
||||
/savexml:<输出文件> 将提取的数据保存为 XML 文件,并放入 ZIP 压缩包中。
|
||||
压缩包中将包含一个 info.xml 文件,内含结构化数据。
|
||||
|
||||
/savejson:<输出文件> 将提取的数据保存为 JSON 文件,并放入 ZIP 压缩包中。
|
||||
压缩包中将包含一个 info.json 文件,内含结构化数据。
|
||||
|
||||
/help 显示此帮助文本。
|
||||
|
||||
输出行为:
|
||||
- 如果既未指定 /savexml 也未指定 /savejson,则信息直接以 JSON 格式输出到控制台。
|
||||
- 如果使用了 /item,则仅输出指定路径下的值(以字符串、版本或格式化 JSON 的形式)。
|
||||
- 如果使用了 /savexml 或 /savejson,则数据将保存到指定的文件(ZIP 压缩包),并显示成功/失败信息。
|
||||
|
||||
示例:
|
||||
pkgcli /read MyApp.appx
|
||||
pkgcli /read /manifest:AppxManifest.xml /usepri
|
||||
pkgcli /read /package:MyApp.msixbundle /item:Identity.Name
|
||||
pkgcli /read /package:MyApp.appx /savejson:output.zip
|
||||
pkgcli /read MyApp.appx /item:applications[0].DisplayName
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /read [options] [<file>]
|
||||
|
||||
Description:
|
||||
Read an Appx/MSIX package (.appx, .appxbundle, .msix, .msixbundle) or its manifest file (.xml, .appxpackage, .msixpackage).
|
||||
Extracts package/manifest information and outputs as JSON to the console, or saves as a ZIP archive containing either info.json or info.xml.
|
||||
|
||||
Options:
|
||||
/manifest:<file> Specify a manifest file to read.
|
||||
/package:<file> Specify a package file to read.
|
||||
<file> If no /manifest or /package is provided, the first unnamed parameter is used as the input file.
|
||||
File type is auto-detected by extension:
|
||||
.xml, .appxpackage, .msixpackage → ManifestReader
|
||||
.appx, .appxbundle, .msix, .msixbundle → PackageReader
|
||||
|
||||
/item:<path> Instead of outputting the whole JSON object, output only the value at the given path.
|
||||
Path syntax: use '.' or ':' as separators, case-insensitive.
|
||||
Supports indexers (e.g., [0]), .length for collections, and automatic Base64 access (e.g., LogoBase64).
|
||||
Examples:
|
||||
/item:Identity.Name
|
||||
/item:Properties.Publisher
|
||||
/item:applications[0]
|
||||
/item:applications.length
|
||||
/item:applications[0].LogoBase64
|
||||
|
||||
/usepri Enable PRI resource resolution (localization and scaled images). Required for proper resource string and image resolution.
|
||||
|
||||
/savexml:<output> Save extracted data as an XML file wrapped in a ZIP archive.
|
||||
The archive will contain an info.xml file with the structured data.
|
||||
|
||||
/savejson:<output> Save extracted data as a JSON file wrapped in a ZIP archive.
|
||||
The archive will contain an info.json file with the structured data.
|
||||
|
||||
/help Display this help text.
|
||||
|
||||
Output Behavior:
|
||||
- If neither /savexml nor /savejson is given, the information is printed directly to the console as JSON.
|
||||
- If /item is used, only the value at the specified path is printed (as a string, version, or formatted JSON).
|
||||
- If /savexml or /savejson is used, the data is saved to the specified file (ZIP archive) and a success/failure message is shown.
|
||||
|
||||
Examples:
|
||||
pkgcli /read MyApp.appx
|
||||
pkgcli /read /manifest:AppxManifest.xml /usepri
|
||||
pkgcli /read /package:MyApp.msixbundle /item:Identity.Name
|
||||
pkgcli /read /package:MyApp.appx /savejson:output.zip
|
||||
pkgcli /read MyApp.appx /item:applications[0].DisplayName
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_CONFIG">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /config 显示当前配置(所有键值)。
|
||||
pkgcli /config /show:<键名> 显示指定配置键的值。
|
||||
pkgcli /config /set:<键名> <值> 将配置键设置为指定值。
|
||||
pkgcli /config /refresh 从 config.ini 重新加载配置。
|
||||
|
||||
配置键(部分):
|
||||
AppMetadataItems 从清单中读取的应用元数据字段列表,用逗号分隔。
|
||||
默认值:"Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo"
|
||||
|
||||
配置文件:
|
||||
位于 pkgcli.exe 同目录下的 config.ini。
|
||||
|
||||
示例:
|
||||
pkgcli /config
|
||||
pkgcli /config /show:AppMetadataItems
|
||||
pkgcli /config /set:AppMetadataItems "Id,DisplayName,Logo"
|
||||
pkgcli /config /refresh
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /config Show current configuration (all keys).
|
||||
pkgcli /config /show:<key> Show value of a specific configuration key.
|
||||
pkgcli /config /set:<key> <value> Set configuration key to the given value.
|
||||
pkgcli /config /refresh Reload configuration from config.ini.
|
||||
|
||||
Configuration keys (partial):
|
||||
AppMetadataItems Comma-separated list of application metadata fields to read from manifests.
|
||||
Default: ""Id,BackgroundColor,DisplayName,ForegroundText,ShortName,SmallLogo,Square44x44Logo""
|
||||
|
||||
Configuration file:
|
||||
config.ini in the same directory as pkgcli.exe.
|
||||
|
||||
Examples:
|
||||
pkgcli /config
|
||||
pkgcli /config /show:AppMetadataItems
|
||||
pkgcli /config /set:AppMetadataItems ""Id,DisplayName,Logo""
|
||||
pkgcli /config /refresh
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_HELP_VERSION">
|
||||
<lang name="zh-CN"><![CDATA[
|
||||
用法:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
|
||||
操作说明:
|
||||
显示 Package Manager CLI 的当前版本。
|
||||
|
||||
示例:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
]]></lang>
|
||||
<lang name="en-US"><![CDATA[
|
||||
Usage:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
|
||||
Operation:
|
||||
Display the current version of Package Manager CLI.
|
||||
|
||||
Examples:
|
||||
pkgcli /version
|
||||
pkgcli /ver
|
||||
]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_WARNING_ENCODING">
|
||||
<lang name="zh-CN"><![CDATA[警告:设置输出编码失败。异常:{0}
|
||||
信息:
|
||||
{1}
|
||||
将使用默认编码。]]></lang>
|
||||
<lang name="en-US"><![CDATA[Warning: Set encoding for output failed. Exception {0}
|
||||
Message:
|
||||
{1}
|
||||
We will use default encoding.]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_PROGRESS_OPERATION">
|
||||
<lang name="zh-CN">({0}/{1}) 正在执行操作...</lang>
|
||||
<lang name="en-US">({0}/{1}) Performing operation...</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_PROGRESS_OPERATION_WITHPROGRESS">
|
||||
<lang name="zh-CN">({0}/{1}) 正在执行操作... {2}% of {3}%</lang>
|
||||
<lang name="en-US">({0}/{1}) Performing operation... {2}% of {3}%</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_COMPLETE_OPERATION">
|
||||
<lang name="zh-CN">操作已完成。</lang>
|
||||
<lang name="en-US">All Done.</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_IRUS_EXCEPTION">
|
||||
<lang name="zh-CN"><![CDATA[包 {0} "{1}" 操作错误 ({2}):
|
||||
{3}]]></lang>
|
||||
<lang name="en-US"><![CDATA[Package {0} "{1}" Operation Error ({2}):
|
||||
{3}]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ASK_REMOVE">
|
||||
<lang name="zh-CN">我们将要移除 {0} 个应用。确定要继续吗?(Y/N) </lang>
|
||||
<lang name="en-US">We are about to remove {0} app(-s). Do you want to continue? (Y/N) </lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_USERABORT">
|
||||
<lang name="zh-CN">用户取消操作</lang>
|
||||
<lang name="en-US">User canceled.</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_EXCEPTION">
|
||||
<lang name="zh-CN"><![CDATA[操作错误 ({0}):
|
||||
{1}]]></lang>
|
||||
<lang name="en-US"><![CDATA[Operation Error ({0}):
|
||||
{1}]]></lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_COMPLETE_DONE">
|
||||
<lang name="zh-CN">已完成。</lang>
|
||||
<lang name="en-US">Done.</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_CANNOTFINDKEY">
|
||||
<lang name="zh-CN">无法找到键 "{0}"。</lang>
|
||||
<lang name="en-US">Cannot find key "{0}".</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_KEYSTRINGEMPTY">
|
||||
<lang name="zh-CN">键为空值。</lang>
|
||||
<lang name="en-US">Key is empty.</lang>
|
||||
</resource>
|
||||
<resource id="PKGCLI_ERROR_FINALEXCEPTION">
|
||||
<lang name="zh-CN"><![CDATA[异常 {0}:
|
||||
信息:
|
||||
{1}
|
||||
堆栈轨迹:
|
||||
{2}]]></lang>
|
||||
<lang name="en-US"><![CDATA[Exception {0}:
|
||||
Message:
|
||||
{1}
|
||||
Stack:
|
||||
{2}]]></lang>
|
||||
</resource>
|
||||
</resources>
|
||||
@@ -671,10 +671,10 @@
|
||||
<lang name="en-US">Problem occurred during saving</lang>
|
||||
</resource>
|
||||
<resource id="READER_READER_SAVEINGJSON">
|
||||
<lang name="zh-CN"><![CDATA[正在生成 JSON 文件,请稍候...
|
||||
这可能需要比较长的时间。]]></lang>
|
||||
<lang name="en-US"><![CDATA[Generating JSON file, please wait...
|
||||
This may take a long time.]]></lang>
|
||||
<lang name="zh-CN">正在生成 JSON 文件,请稍候...
|
||||
这可能需要比较长的时间。</lang>
|
||||
<lang name="en-US">Generating JSON file, please wait...
|
||||
This may take a long time.</lang>
|
||||
</resource>
|
||||
<resource id="READER_READER_JSONFILE">
|
||||
<lang name="zh-CN">包含 JSON 报告的 ZIP 文件</lang>
|
||||
@@ -685,10 +685,10 @@ This may take a long time.]]></lang>
|
||||
<lang name="en-US">ZIP file containing XML report</lang>
|
||||
</resource>
|
||||
<resource id="READER_READER_SAVEINGXML">
|
||||
<lang name="zh-CN"><![CDATA[正在生成 XML 文件,请稍候...
|
||||
这可能需要比较长的时间。]]></lang>
|
||||
<lang name="en-US"><![CDATA[Generating XML file, please wait...
|
||||
This may take a long time.]]></lang>
|
||||
<lang name="zh-CN">正在生成 XML 文件,请稍候...
|
||||
这可能需要比较长的时间。</lang>
|
||||
<lang name="en-US">Generating XML file, please wait...
|
||||
This may take a long time.</lang>
|
||||
</resource>
|
||||
<resource id="READER_ACQUIRE_TITLE">
|
||||
<lang name="zh-CN">获取</lang>
|
||||
@@ -876,7 +876,7 @@ This may take a long time.]]></lang>
|
||||
</resource>
|
||||
<resource id="APPMETADATA_Square44x44Logo">
|
||||
<lang name="zh-CN">应用列表图标 (Windows Phone 或 UWP)</lang>
|
||||
<lang name="en-US">App List Logo (Windows Phone 或 UWP)</lang>
|
||||
<lang name="en-US">App List Logo (Windows Phone or UWP)</lang>
|
||||
</resource>
|
||||
<resource id="APPMETADATA_Square70x70Logo">
|
||||
<lang name="zh-CN">小磁贴图标 (Windows 8.1)</lang>
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.3.1.5
|
||||
1.0.0.0
|
||||
Reference in New Issue
Block a user