diff --git a/AppInstallerReset.sln b/AppInstallerReset.sln index 1f577f1..806d252 100644 --- a/AppInstallerReset.sln +++ b/AppInstallerReset.sln @@ -60,6 +60,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bridge", "Bridge\Bridge.csp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WAShell", "WAShell\WAShell.csproj", "{4EC16578-EFBF-41E6-8D7F-976E3646DD1D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Manager", "Manager\Manager.csproj", "{DC074727-72E4-43C5-BAAF-E0D548104797}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IEHelper", "IEHelper\IEHelper.vcxproj", "{E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernNotice", "ModernNotice\ModernNotice.csproj", "{C5587B6E-19C4-4484-AA97-5C20FBB07E43}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -250,6 +256,40 @@ Global {4EC16578-EFBF-41E6-8D7F-976E3646DD1D}.Release|x64.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 + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.ActiveCfg = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x64.Build.0 = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.ActiveCfg = Debug|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Debug|x86.Build.0 = Debug|Any CPU + {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|x64.ActiveCfg = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x64.Build.0 = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.ActiveCfg = Release|Any CPU + {DC074727-72E4-43C5-BAAF-E0D548104797}.Release|x86.Build.0 = Release|Any CPU + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.ActiveCfg = Debug|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Debug|x64.Build.0 = Debug|x64 + {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|x64.ActiveCfg = Release|x64 + {E4CA78A9-9408-4F5F-ADD6-730FD501FF8E}.Release|x64.Build.0 = Release|x64 + {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|x64.ActiveCfg = Debug|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Debug|x64.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}.Release|x64.ActiveCfg = Release|Any CPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43}.Release|x64.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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/AppxPackage/AppxPackage.csproj b/AppxPackage/AppxPackage.csproj index ffec87e..c008200 100644 --- a/AppxPackage/AppxPackage.csproj +++ b/AppxPackage/AppxPackage.csproj @@ -48,6 +48,10 @@ MinimumRecommendedRules.ruleset + + ..\packages\Newtonsoft.Json.13.0.4\lib\net40\Newtonsoft.Json.dll + True + @@ -57,12 +61,24 @@ + + + + + + {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} + DataUtils + + + + + + \ No newline at end of file diff --git a/Manager/ManagerShell.Designer.cs b/Manager/ManagerShell.Designer.cs new file mode 100644 index 0000000..2f08544 --- /dev/null +++ b/Manager/ManagerShell.Designer.cs @@ -0,0 +1,50 @@ +namespace Manager +{ + partial class ManagerShell + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose (bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose (); + } + base.Dispose (disposing); + } + + #region Windows 窗体设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent () + { + this.SuspendLayout(); + // + // ManagerShell + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(661, 416); + this.Location = new System.Drawing.Point(0, 0); + this.Name = "ManagerShell"; + this.PageScale = 125; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.ManagerShell_Load); + this.ResumeLayout(false); + + } + + #endregion + } +} + diff --git a/Manager/ManagerShell.cs b/Manager/ManagerShell.cs new file mode 100644 index 0000000..4fb81bd --- /dev/null +++ b/Manager/ManagerShell.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; +namespace Manager +{ + public partial class ManagerShell: WAShell.WebAppForm + { + public ManagerShell () + { + InitializeComponent (); + SplashScreen.SplashBackgroundColor = Color.Honeydew; + } + private void ManagerShell_Load (object sender, EventArgs e) + { + var root = Path.GetDirectoryName (DataUtils.Utilities.GetCurrentProgramPath ()); + WebUI.Navigate (Path.Combine (root, "html\\manager.html")); + } + } +} diff --git a/Manager/ManagerShell.resx b/Manager/ManagerShell.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Manager/ManagerShell.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Manager/Program.cs b/Manager/Program.cs new file mode 100644 index 0000000..25ccbad --- /dev/null +++ b/Manager/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace Manager +{ + static class Program + { + /// + /// 应用程序的主入口点。 + /// + [STAThread] + static void Main () + { + DataUtils.BrowserEmulation.SetWebBrowserEmulation (); + Application.EnableVisualStyles (); + Application.SetCompatibleTextRenderingDefault (false); + Application.Run (new ManagerShell ()); + } + } +} diff --git a/Manager/Properties/AssemblyInfo.cs b/Manager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..cbf6e89 --- /dev/null +++ b/Manager/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle ("Manager")] +[assembly: AssemblyDescription ("")] +[assembly: AssemblyConfiguration ("")] +[assembly: AssemblyCompany ("")] +[assembly: AssemblyProduct ("Manager")] +[assembly: AssemblyCopyright ("Copyright © 2026")] +[assembly: AssemblyTrademark ("")] +[assembly: AssemblyCulture ("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible (false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid ("dc074727-72e4-43c5-baaf-e0d548104797")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion ("1.0.0.0")] +[assembly: AssemblyFileVersion ("1.0.0.0")] diff --git a/Manager/Properties/Resources.Designer.cs b/Manager/Properties/Resources.Designer.cs new file mode 100644 index 0000000..d0cd4f2 --- /dev/null +++ b/Manager/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本: 4.0.30319.42000 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace Manager.Properties +{ + + + /// + /// 强类型资源类,用于查找本地化字符串等。 + /// + // 此类是由 StronglyTypedResourceBuilder + // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen + // (以 /str 作为命令选项),或重新生成 VS 项目。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute ()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute ("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources () + { + } + + /// + /// 返回此类使用的缓存 ResourceManager 实例。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager ("Manager.Properties.Resources", typeof (Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 覆盖当前线程的 CurrentUICulture 属性 + /// 使用此强类型的资源类的资源查找。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute (global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Manager/Properties/Resources.resx b/Manager/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Manager/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Manager/Properties/Settings.Designer.cs b/Manager/Properties/Settings.Designer.cs new file mode 100644 index 0000000..edcea2d --- /dev/null +++ b/Manager/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Manager.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute ()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute ("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings: global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized (new Settings ()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Manager/Properties/Settings.settings b/Manager/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Manager/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Manager/app.manifest b/Manager/app.manifest new file mode 100644 index 0000000..7db33c3 --- /dev/null +++ b/Manager/app.manifest @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + diff --git a/ModernNotice/ModernNotice.csproj b/ModernNotice/ModernNotice.csproj new file mode 100644 index 0000000..f861f83 --- /dev/null +++ b/ModernNotice/ModernNotice.csproj @@ -0,0 +1,62 @@ + + + + + Debug + AnyCPU + {C5587B6E-19C4-4484-AA97-5C20FBB07E43} + Library + Properties + ModernNotice + ModernNotice + v4.0 + 512 + + + true + full + false + ..\Debug\ + DEBUG;TRACE + prompt + 4 + x86 + + + pdbonly + true + ..\Release\ + TRACE + prompt + 4 + x86 + + + + + + + + + + + + + + + + + + {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} + DataUtils + + + + + \ No newline at end of file diff --git a/ModernNotice/Notice.cs b/ModernNotice/Notice.cs new file mode 100644 index 0000000..f40de8e --- /dev/null +++ b/ModernNotice/Notice.cs @@ -0,0 +1,120 @@ +using System.Xml; +using System.Runtime.InteropServices; +using HResult = DataUtils._I_HResult; +using System; + +namespace ModernNotice +{ + public static class Notice + { + private static XmlDocument XmlStringToDom (string xmlContent) + { + var ret = new XmlDocument (); + ret.LoadXml (xmlContent); + return ret; + } + private static string XmlDomToString (XmlDocument xmlDom) { return xmlDom.OuterXml; } + private static HResult BuildHResult (int hr, IntPtr err, IntPtr msg) { return new HResult (hr, Marshal.PtrToStringUni (err), Marshal.PtrToStringUni (msg)); } + private static HResult BuildHResult (HRESULT hr, IntPtr err, IntPtr msg) { return BuildHResult (hr.Value, err, msg); } + private static HResult BuildHResult (int hr, IntPtr msg) { return new HResult (hr, "", Marshal.PtrToStringUni (msg)); } + private static HResult BuildHResult (HRESULT hr, IntPtr msg) { return BuildHResult (hr.Value, msg); } + private static HResult BuildHResult (int hr) { return new HResult (hr); } + private static HResult BuildHResult (HRESULT hr) { return BuildHResult (hr.Value); } + public static string GetTemplateString (string templateName) + { + var ptr = Native.GetToastNoticeXml (templateName); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetTemplate (string templateName) { return XmlStringToDom (GetTemplateString (templateName)); } + public static string GetSimpleTemplateString (string content, string imagePath) + { + var ptr = Native.GenerateSimpleToastNoticeXml (content, imagePath); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetSimpleTemplate (string content, string imagePath = null) { return XmlStringToDom (GetSimpleTemplateString (content, imagePath)); } + public static string GetSimpleTemplateString2 (string title, string content = null, string imagePath = null) + { + var ptr = Native.GenerateSimpleToastNoticeXml2 (title, content, imagePath); + try { var ret = Marshal.PtrToStringUni (ptr) ?? ""; return ret; } + finally { Native.NoticeApiFreeString (ptr); } + } + public static XmlDocument GetSimpleTemplate2 (string title, string content = null, string imagePath = null) { return XmlStringToDom (GetSimpleTemplateString2 (title, content, imagePath)); } + public static HResult Create (string appUserId, XmlDocument xml) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeFromXmlDocument (appUserId, XmlDomToString (xml), null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult Create (string appUserId, string content, string imagePath = null) + { + var xml = GetSimpleTemplate (content, imagePath); + return Create (appUserId, xml); + } + public static HResult Create (string appUserId, string title, string content, string imagePath = null) + { + var xml = GetSimpleTemplate2 (title, content, imagePath); + return Create (appUserId, xml); + } + public static HResult Create (string appUserId, string content, IntPtr img) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithIStream (appUserId, content, img, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult Create (string appUserId, string title, string content, IntPtr img) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithIStream2 (appUserId, title, content, img, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult CreateWithImgBase64 (string appUserId, string content, string imageBase64) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNoticeWithImgBase64 (appUserId, content, imageBase64, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + public static HResult CreateWithImgBase64 (string appUserId, string title, string content, string imageBase64) + { + IntPtr dt = IntPtr.Zero; + try + { + var hr = Native.CreateToastNotice2WithImgBase64 (appUserId, title, content, imageBase64, null, IntPtr.Zero, out dt); + return BuildHResult (hr, dt); + } + finally + { + if (dt != IntPtr.Zero) Native.NoticeApiFreeString (dt); + } + } + } +} diff --git a/ModernNotice/NoticeNative.cs b/ModernNotice/NoticeNative.cs new file mode 100644 index 0000000..6b2a117 --- /dev/null +++ b/ModernNotice/NoticeNative.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; + +namespace ModernNotice +{ + // HRESULT = int + [StructLayout (LayoutKind.Sequential)] + public struct HRESULT + { + public int Value; + } + + // Callback delegate + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + public delegate void NOTICE_ACTIVECALLBACK (IntPtr pCustom); + + public static class Native + { + private const string DLL = "notice.dll"; // 改成你的 dll 名称 + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GetToastNoticeXml (string lpTemplateName); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GenerateSimpleToastNoticeXml (string lpText, string lpImagePath); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr GenerateSimpleToastNoticeXml2 (string lpTitle, string lpText, string lpImagePath); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeFromXmlDocument ( + string lpIdName, + string lpXmlString, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice ( + string lpIdName, + string lpText, + string lpImgPath, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice2 ( + string lpIdName, + string lpTitle, + string lpText, + string lpImgPath, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithIStream2 ( + string lpIdName, + string lpTitle, + string lpText, + IntPtr pIImgStream, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithIStream ( + string lpIdName, + string lpText, + IntPtr pIImgStream, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CallingConvention = CallingConvention.Cdecl)] + public static extern int NoticeGetLastHResult (); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr NoticeGetLastDetailMessage (); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateShortcutWithAppIdW ( + string pszShortcutPath, + string pszTargetPath, + string pszAppId, + out IntPtr lpException + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern void NoticeApiFreeString (IntPtr lpstr); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNoticeWithImgBase64 ( + string lpIdName, + string lpText, + string lpImgBase64, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + + [DllImport (DLL, CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] + public static extern int CreateToastNotice2WithImgBase64 ( + string lpIdName, + string lpTitle, + string lpText, + string lpImgBase64, + NOTICE_ACTIVECALLBACK pfCallback, + IntPtr pCustom, + out IntPtr lpExceptMsg + ); + } +} diff --git a/ModernNotice/Properties/AssemblyInfo.cs b/ModernNotice/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4b67f08 --- /dev/null +++ b/ModernNotice/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("ModernNotice")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ModernNotice")] +[assembly: AssemblyCopyright("Copyright © 2026")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible (true)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("c5587b6e-19c4-4484-aa97-5c20fbb07e43")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Update/Program.cs b/Update/Program.cs index 6a6d5a3..382fdb2 100644 --- a/Update/Program.cs +++ b/Update/Program.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Windows.Forms; using System.Diagnostics; using System.IO; using System.Text; +using System.Threading; namespace Update { @@ -47,18 +47,36 @@ namespace Update [STAThread] static void Main (string [] args) { - Process p = new Process (); - p.StartInfo.FileName = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "settings.exe"); - var arguments = new List + bool createdNew = false; + Mutex mutex = new Mutex (true, "WindowsModern.PracticalToolsProject!Settings.Update", out createdNew); + if (!createdNew) { - "appinstaller", - "update" - }; - arguments.AddRange (args); - p.StartInfo.Arguments = string.Join (" ", arguments.Select (EscapeArgument)); - p.Start (); - p.WaitForExit (); - int exitCode = p.ExitCode; + return; + } + try + { + Process p = new Process (); + p.StartInfo.FileName = Path.Combine (AppDomain.CurrentDomain.BaseDirectory, "settings.exe"); + List arguments = new List (); + arguments.Add ("appinstaller"); + arguments.Add ("update"); + arguments.AddRange (args); + StringBuilder argBuilder = new StringBuilder (); + foreach (string a in arguments) + { + if (argBuilder.Length > 0) + argBuilder.Append (" "); + argBuilder.Append (EscapeArgument (a)); + } + p.StartInfo.Arguments = argBuilder.ToString (); + p.Start (); + p.WaitForExit (); + int exitCode = p.ExitCode; + } + finally + { + mutex.ReleaseMutex (); + } } } } diff --git a/WAShell/SplashForm.cs b/WAShell/SplashForm.cs index b983d14..e3b911e 100644 --- a/WAShell/SplashForm.cs +++ b/WAShell/SplashForm.cs @@ -32,6 +32,7 @@ namespace WAShell if (ReferenceEquals (_host, value)) return; DetachHostEvents (_host); _host = value; + this.Owner = _host as Form; AttachHostEvents (_host); if (this.Visible) { @@ -44,19 +45,27 @@ namespace WAShell if (host == null) return; host.Resize += Host_Changed; host.LocationChanged += Host_Changed; + host.Disposed += Host_Disposed; } private void DetachHostEvents (Control host) { if (host == null) return; - host.Resize -= Host_Changed; host.LocationChanged -= Host_Changed; + host.Disposed -= Host_Disposed; } private void Host_Changed (object sender, EventArgs e) { - if (!this.IsHandleCreated) return; + if (this.IsDisposed || !this.IsHandleCreated) return; + if (this.Owner == null || this.Owner.IsDisposed) return; ResizeSplashScreen (); } + private void Host_Disposed (object sender, EventArgs e) + { + DetachHostEvents (_host); + _host = null; + if (!this.IsDisposed) this.Hide (); // 或 Hide() + } public SplashForm () { InitializeComponent (); @@ -80,7 +89,7 @@ namespace WAShell splashImage = value; if (picbox != null && picbox.IsHandleCreated) { - splashImage = picbox.Image; + picbox.Image = splashImage; } } } @@ -98,15 +107,14 @@ namespace WAShell { ResizeSplashScreen (); } - private void ResizeSplashScreen () + public void ResizeSplashScreen () { - Control owner = this.Owner; - if (owner == null) owner = this.Parent; - if (owner == null) return; - owner.Update (); - var pt = owner.PointToScreen (owner.ClientRectangle.Location); - Location = pt; - Size = owner.ClientSize; + if (this.IsDisposed || !this.IsHandleCreated) return; + Control owner = this.Owner ?? this.Parent; + if (owner == null || owner.IsDisposed || !owner.IsHandleCreated) return; + var pt = owner.PointToScreen (Point.Empty); + this.Location = pt; + this.Size = owner.ClientSize; ResizeSplashImage (); } private void ResizeSplashImage () @@ -213,13 +221,13 @@ namespace WAShell { DetachHostEvents (_host); _host = null; - base.OnFormClosed (e); + // base.OnFormClosed (e); } catch (Exception) { } } private void SplashForm_Shown (object sender, EventArgs e) { - base.OnShown (e); + //base.OnShown (e); this.Opacity = 1.0; this.Visible = true; this.Enabled = true; diff --git a/WAShell/WAShell.csproj b/WAShell/WAShell.csproj index f19c040..5c4b0a2 100644 --- a/WAShell/WAShell.csproj +++ b/WAShell/WAShell.csproj @@ -68,6 +68,10 @@ {ffd3fd52-37a8-4f43-883c-de8d996cb0e0} DataUtils + + {e4ca78a9-9408-4f5f-add6-730fd501ff8e} + IEHelper + {8e708d9a-6325-4aa9-b5a5-d1b5eca8eef7} PrivateInit diff --git a/WAShell/WebAppForm.Designer.cs b/WAShell/WebAppForm.Designer.cs index 216bd03..5bbc8e8 100644 --- a/WAShell/WebAppForm.Designer.cs +++ b/WAShell/WebAppForm.Designer.cs @@ -39,6 +39,7 @@ this.webui.Name = "webui"; this.webui.Size = new System.Drawing.Size(661, 416); this.webui.TabIndex = 0; + this.webui.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webui_DocumentCompleted); // // WebAppForm // @@ -49,6 +50,8 @@ this.Controls.Add(this.webui); this.Name = "WebAppForm"; this.Text = "Main Web App Form"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WebAppForm_FormClosing); + this.Load += new System.EventHandler(this.WebAppForm_Load); this.ResumeLayout(false); } diff --git a/WAShell/WebAppForm.cs b/WAShell/WebAppForm.cs index 6eeca50..b474de4 100644 --- a/WAShell/WebAppForm.cs +++ b/WAShell/WebAppForm.cs @@ -12,56 +12,90 @@ namespace WAShell { [ComVisible (true)] [ClassInterface (ClassInterfaceType.AutoDual)] - public partial class WebAppForm: Form, IScriptBridge, IWebBrowserPageScale + public partial class WebAppForm: Form, IScriptBridge, IWebBrowserPageScale, ITaskbarProgress { - SplashForm splash; - ITaskbarList3 taskbar = null; + SplashForm splash = new SplashForm (); + TaskbarProgress taskbar = null; + public WebBrowser WebUI => webui; + public SplashForm SplashScreen => splash; + public object PublicObjectForScripting { get { return webui?.ObjectForScripting; } set { webui.ObjectForScripting = null; webui.ObjectForScripting = value; } } + protected Bridge._I_BridgeBase NowObject { get { return webui?.ObjectForScripting as Bridge._I_BridgeBase; } } public WebAppForm () { + splash.Host = this; InitializeComponent (); + webui.ObjectForScripting = new Bridge._I_BridgeBase (this, this, this, this); + taskbar = new TaskbarProgress (Handle); } - public int PageScale + public virtual int PageScale + { + get { return IEHelper.WebBrowserHelper.GetPageScale (webui); } + set { IEHelper.WebBrowserHelper.SetPageScale (webui, value); } + } + public double ProgressValue { - get - { - var web2 = WebBrowserHelper.GetWebBrowser2 (webui); - if (web2 == null) return 0; - object inArg = null; - object outArg = null; - try - { - web2.ExecWB ( - OLECMDID.OLECMDID_OPTICAL_ZOOM, - OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, - ref inArg, - ref outArg - ); - if (outArg is int) return (int)outArg; - } - catch { } - return 0; - } set { - var web2 = WebBrowserHelper.GetWebBrowser2 (webui); - if (web2 == null) return; - object inArg = value; - object outArg = null; - try - { - web2.ExecWB ( - OLECMDID.OLECMDID_OPTICAL_ZOOM, - OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, - ref inArg, - ref outArg - ); - } - catch { } + if (taskbar == null) return; + double total = 1000000; + taskbar.SetValue ((ulong)(value * total), (ulong)total); } } - public object CallEvent (string funcName, object e) + public TBPFLAG ProgressStatus { set { taskbar.SetState (value); } } + public virtual object CallEvent (string funcName, object e) { return null; } + private void WebAppForm_Load (object sender, EventArgs e) + { + // splash.SplashBackgroundColor = Color.Green; + splash.ResizeSplashScreen (); + splash.Show (); + splash.Update (); + // splash.FadeOut (); + } + private bool issetdpi = false; + protected virtual void webui_DocumentCompleted (object sender, WebBrowserDocumentCompletedEventArgs e) + { + if (!issetdpi) + { + issetdpi = true; + ExecScript ("Bridge.Frame.scale = Bridge.Frame.scale * Bridge.UI.dpi"); + } + ExecScript ("Windows.UI.DPI.mode = 1"); + if (e.Url.ToString () == webui.Url.ToString ()) + { + splash.FadeOut (); + } + } + protected object CallScriptFunction (string funcName, params object [] args) { return webui.Document.InvokeScript (funcName, args); } + protected object CallScriptFunction (string funcName) { return webui.Document.InvokeScript (funcName); } + public object InvokeCallScript (string funcName, params object [] args) + { + if (this.InvokeRequired) + { + return this.Invoke ( + new Func (CallScriptFunction), + funcName, args + ); + } + else return CallScriptFunction (funcName, args); + } + public object InvokeCallScript (string funcName) + { + if (this.InvokeRequired) + { + return this.Invoke ( + new Func (CallScriptFunction), + funcName + ); + } + else return CallScriptFunction (funcName); + } + public object ExecScript (params object [] cmdline) { return InvokeCallScript ("eval", cmdline); } + private void WebAppForm_FormClosing (object sender, FormClosingEventArgs e) + { + webui.ObjectForScripting = null; + } } } diff --git a/others/Autosave/autosave_2025-12-14_01-54-39.suf b/others/Autosave/autosave_2025-12-14_01-54-39.suf deleted file mode 100644 index 4b4d402..0000000 --- a/others/Autosave/autosave_2025-12-14_01-54-39.suf +++ /dev/null @@ -1,6604 +0,0 @@ - - -{AFB904C4-C255-4540-B97E-A75A34F1FFB0} -9.5.3.0 - - - -1 - -*.* -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared -* - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -1 - -1 -1 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\appinstaller.exe -appinstaller.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -App Installer - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\certmgr.dll -certmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\notice.dll -notice.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgmgr.dll -pkgmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgread.dll -pkgread.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll -PriFileFormat.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll -priformatcli.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\reslib.dll -reslib.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\settings.exe -settings.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -1 -%StartProgramsFolderCommon%\\%AppShortcutFolderName% -Update - -appinstaller update /checkupdate - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\uninstall_icon.ico -uninstall_icon.ico -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others -ico - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\shortcut.exe -shortcut.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -shortcut - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\desktopini.exe -desktopini.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -desktopini - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll.config -PriFileFormat.dll.config -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -config - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll.metagen -priformatcli.dll.metagen -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -metagen - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - - - - -100 -Welcome to Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the installer for %ProductName% %ProductVer%. - -It is strongly recommended that you exit all Windows programs before continuing with this installation. - -If you have any other programs running, please click Cancel, close the programs, and run this setup again. - -Otherwise, click Next to continue. - -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% װ - -ǿҽڼðװ֮ǰ˳ Windows - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -100 -Welcome to Update Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Update -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the %ProductName% %ProductVer% upgrade program. - -It is strongly recommended that you exit all programs related to %ProductName% before continuing this installation. - -If you have any other programs running, please click "Cancel" to close the program, and then run the installer again. - -Otherwise, please click "Next" to continue. -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% - -ǿҽڼðװ֮ǰ˳ %ProductName% صг - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -125 -License Agreement -2 -License Agreement -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -1 -0 -1 -0 -0 - -1 -1 - - - -5 -602 -1 -1 -35 -1 -602 -603 - - -5 -603 -1 -1 -40 -0 -602 -603 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -License Agreement -Please read the following license agreement carefully. -&Next > -< &Back -&Cancel -&Help -<!DOCTYPE html> -<html> - -<head> - <meta charset="UTF-8"> - <title>End User License Agreement</title> - <style> - body { - /*font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> - -<body> - <h1>End User License Agreement</h1> - - <p>Please read this license agreement carefully before installing or using this software.</p> - - <h2>1. Copyright</h2> - <p>Copyright © 2025 Windows Modern. This software and its source code are protected by copyright law.</p> - - <h2>2. License</h2> - <p>This software is licensed under the MIT License. You are free to use, copy, modify, and distribute this software and its source code, including for commercial purposes, subject to the terms of the MIT License.</p> - - <h2>3. Third-Party Components</h2> - <p>This software includes the following third-party open source components, which are subject to their original licenses:</p> - <ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> - </ul> - - <h2>4. Disclaimer</h2> - <p>This software is provided "as is", without any express or implied warranties, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be - liable for any damages arising from the use of this software, whether direct, indirect, incidental, or consequential.</p> - - <h2>5. Acceptance</h2> - <p>By installing or using this software, you agree to this license agreement. If you do not agree, do not install or use the software.</p> -<br> -</body> - -</html> -I agree to the terms of this license agreement -I do not agree to the terms of this license agreement - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -Э -ϸĶЭ顣 -һ(&N) > -< (&B) -ȡ(&C) -(&H) -<!DOCTYPE html> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> - <title>ûЭ</title> - <style> - body { - /*font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> -<body> -<h1>ûЭ</h1> - -<p>ڰװʹñǰϸĶЭ顣</p> - -<h2>һȨ</h2> -<p>Copyright &#169; 2025 Windows Modern. ԴܰȨ</p> - -<h2>ɷΧ</h2> -<p>ѭ MIT Э顣ڷ MIT ʹáơ޸ġַԴ룬ҵ;</p> - -<h2></h2> -<p>µԴʹЩԭʼ֤Լ</p> -<ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> -</ul> - -<h2>ġ</h2> -<p>ԭṩκʾʾĵԡض;ԺͷȨı֤ں£߻Ȩ˾ʹñκֱӡӡżȻ𺦸</p> - -<h2>塢</h2> -<p>װʹñʾܱЭ顣ͬⱾЭ飬벻Ҫװʹñ</p> -<br> -</body> -</html> - -ͬЭ -ҲͬЭ - - - - - - -105 -Scrolling Text -2 -Scrolling Text -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Important Information -Please read the following information. -&Next > -< &Back -&Cancel -&Help -This is currently in test mode, and this release is solely for testing the program's update features. While this version is available, the official release is still recommended. - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ҪϢ -ĶϢ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ǰDzģʽд˰汾ڴ˳ĸ¹ܲԡȻ˰汾ãԽʹʽ汾 - - - - - - -110 -Select Install Folder -2 -Select Install Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppFolder% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -6 -801 -1 -1 -3 -0 -0 -0 -0 - -0 -1 -0 -1 -4 -%AppFolder% - - -1 -110 -1 -1 -4 -0 - - -2 -208 -1 -1 -5 -0 - - -2 -207 -1 -1 -6 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Folder -Where would you like %ProductName% to be installed? -&Next > -< &Back -&Cancel -&Help -C&hange... -%AppFolder% -The software will be installed in the folder listed below. To select a different location, either type in a new path, or click Change to browse for an existing folder. -Install %ProductName% to: -Space required: %SpaceRequired% -Space available on selected drive: %SpaceAvailable% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װļ -뽫 %ProductName% װδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -(&H)... -%AppFolder% -װгļСҪѡͬλãµ·򵥻ġеļС - %ProductName% װ: -ռ: %SpaceRequired% -ѡĿÿռ: %SpaceAvailable% - - - - - -115 -Select Shortcut Folder -2 -Select Shortcut Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppShortcutFolderName% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -0 -0 - - -2 -211 -1 -1 -1 -0 - - -4 -501 -1 -1 -2 -0 -1 -1 - -4 -1 - - -5 -600 -0 -0 -35 -1 -600 -601 - - -5 -601 -0 -0 -40 -0 -600 -601 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Shortcut Folder -Where would you like the shortcuts to be installed? -&Next > -< &Back -&Cancel -&Help -The shortcut icons will be created in the folder indicated below. If you don't want to use the default folder, you can either type a new name, or select an existing folder from the list. -Shortcut Folder: -Install shortcuts for current user only -Make shortcuts available to all users -%AppShortcutFolderName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ݷʽļ -뽫ݷʽװδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ݷʽͼ꽫ָļдʹĬļУԼµƣбѡеļС -ݷʽļ: -ֻԵǰûװݷʽ -ʹݷʽû -%AppShortcutFolderName% - - - - - -100 -Ready to Install -2 -Ready to Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -0 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Ready to Install -You are now ready to install %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -The installer now has enough information to install %ProductName% on your computer. - - -The following settings will be used: - -Install folder: %AppFolder% - -Shortcut folder: %AppShortcutFolderName% - - -Please click Next to proceed with the installation. -Title - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -׼װ -׼װ %ProductName% %ProductVer% -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ڰװ㹻Ϣ %ProductName% װļС - - -ʹ: - -װļ: %AppFolder% - -ݷʽļ: %AppShortcutFolderName% - - -뵥һװ - - - - - - - -1 - - -130 -One Progress Bar (While Installing) -2 -One Progress Bar (While Installing) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ڰװ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -155 -Scrolling Text Progress -2 -Scrolling Text Progress -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -0 - - -On Preload - - - - - - -On Start - - - - - - -On Finish - - - - - - -On Cancel - - - - - - - - -1 -102 -1 -0 --10 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -204 -1 -1 -3 -0 - - -3 -400 -1 -1 -2 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Performing Actions -Please wait... -&Cancel -Please wait while the following actions are performed: - - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ִж -Ժ... -ȡ(&C) -Ժִ¶: - - - - - - - -100 -Finished Install -1 -Finished Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Finished -The installation has completed successfully. -&Finish -< &Back -&Cancel -&Help -The %ProductName% %ProductVer% installation is complete. - -Thank you for choosing %ProductName%! - -Please click Finish to exit this installer. - -Installation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װ -װѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% װɡ - -лѡ %ProductName% - -뵥ɡ˳ðװ - -װɹ - - - - - - - - -List 1 - -All - - - - - -1 -uninstall.xml -%AppFolder%\Uninstall -%AppFolder%\uninstall.exe -1 -0 -0 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -0 - -0 -0 -%ProductName% Uninstall - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright% %CompanyName%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
-1 -1 -1 -1 -Microsoft.DesktopAppInstaller -%ProductName% -1 -%AppFolder%\appinstaller.exe -1 -%CompanyName% -%CompanyURL% -%CompanyName% Support Department -%CompanyURL% -%ProductVer% - - - - - -%AppFolder% -0 -1 -1 -Uninstall -Removes %ProductName% from your computer. -1 -%AppFolder%\uninstall_icon.ico -0 -1 -%TempFolder%\%ProductName% Uninstall Log.txt -0 -0 -1 - - -100 -Welcome to Uninstall -1 -Welcome to Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Welcome -Welcome to the uninstaller for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -This program will uninstall %ProductName% %ProductVer%. - -If %ProductName% is currently running, please close it before proceeding with the uninstallation. - -Otherwise, click Next to continue. - -Uninstall %ProductName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ӭ -ӭʹ %ProductName% %ProductVer% жس -һ(&N) > -< (&B) -ȡ(&C) -(&H) -óж %ProductName% %ProductVer% - - %ProductName% ǰУж֮ǰ뽫رա - -뵥һ - -ж %ProductName% - - - - - - -1 - - -130 -One Progress Bar (While Uninstalling) -2 -One Progress Bar (While Uninstalling) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Removing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -Ƴ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -100 -Finished Uninstall -1 -Finished Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Uninstallation Finished -The uninstallation has completed successfully. -&Finish -< &Back -&Cancel -&Help -%ProductName% %ProductVer% has been uninstalled. - -Please click Finish to exit. - -Uninstallation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ж -жѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% ѱжء - -뵥ɡ˳ - -жسɹ - - - - - - - -ʱ - - - - - - -On Uninstall Error -number e_ErrorCode, string e_ErrorMsgID - - - - - -On Post Uninstall - - - - - - -
- - -1 -%TempFolder%\%ProductName% Setup Log.txt -0 -1 - -0 -0 -0 -1 -2 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -1 -%TempLaunchFolder%\main.ico -0 -0 -%ProductName% - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
- -0 -0 -30 -30 -1 -1767105338 -0 -0 -1 -1 -2 -1 -0 -03F9811E-4657-4757-A24D-570C64F8ABB6 -0 -%CompanyName% -%CompanyURL% - - - - - -32768 -65535 -65535 -65535 -0 -0 -0 -0 -0 -0 -65535 -65535 -65535 -65535 -65535 -65535 - -0 -0 -0 -0 -1 -0 - - -Developer -New Project - - - -Copyright 2025 - - -9.5.3.0 -9.5.3.0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared - -0 - - - - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -1 -0 - -All - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\runtime.exe -1 -0 - -All - - - - - -ȫֺ - - - - - - -ʱ - - - - - - -ڰװ - - - - - - -ڹرʱ - - - - - - -
- - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - - - -%ProductName% -Desktop App Installer -1 - - -%CompanyName% -Windows Modern -1 - - -%ProductVer% -0.2.2.0 -1 - - -%Copyright% -Copyright (C)2025 %CompanyName% -1 - - -%CompanyURL% - -1 - - -%WindowTitle% -%ProductName% Setup -1 - - -%WindowTitleUninstall% -%ProductName% Uninstaller -1 - - -%AppFolder% -%ProgramFilesFolder%\%ProductName% -2 - - -%AppShortcutFolderName% -%ProductName% -2 - - - - -Default - - -0 - - -0 -InstallerSetup.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Generated -0 -0 -0 -0 -0 -0 - -1 - - - - - -1 - - -0 - - - - - -1 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -9.5.3.0 -9.5.3.0 -Indigo Rose Corporation -Setup Factory Runtime -Created with Setup Factory -sf_rt -Setup Application -Setup Engine Copyright ?1992-2019 Indigo Rose Corporation -Setup Factory is a trademark of Indigo Rose Corporation - - -0 - - - - - - -#SUFDIR#\Includes\Scripts\_SUF70_Global_Functions.lua -1 - -All - - - -
\ No newline at end of file diff --git a/others/Autosave/autosave_2025-12-14_02-00-12.suf b/others/Autosave/autosave_2025-12-14_02-00-12.suf deleted file mode 100644 index 4583655..0000000 --- a/others/Autosave/autosave_2025-12-14_02-00-12.suf +++ /dev/null @@ -1,6639 +0,0 @@ - - -{AFB904C4-C255-4540-B97E-A75A34F1FFB0} -9.5.3.0 - - - -1 - -*.* -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared -* - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -1 - -1 -1 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\appinstaller.exe -appinstaller.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -App Installer - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\certmgr.dll -certmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\notice.dll -notice.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgmgr.dll -pkgmgr.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\pkgread.dll -pkgread.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll -PriFileFormat.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll -priformatcli.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\reslib.dll -reslib.dll -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -dll - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\settings.exe -settings.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -1 -%StartProgramsFolderCommon%\\%AppShortcutFolderName% -Update - -appinstaller update /checkupdate - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\uninstall_icon.ico -uninstall_icon.ico -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others -ico - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\shortcut.exe -shortcut.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -shortcut - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\desktopini.exe -desktopini.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -exe - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - -desktopini - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PriFileFormat.dll.config -PriFileFormat.dll.config -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -config - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - -0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\priformatcli.dll.metagen -priformatcli.dll.metagen -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release -metagen - - -1 -0 -%AppFolder% -1 -0 -0 -1000 -0 -0 -0 -0 -0 -0 -0 -0 - - - - - -0 - -0 -0 -0 -0 - -0 -0 -0 -1 -1 -0 -0 -0 -0 - -32768 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 -65535 - - - -All - -None - - -0 -0 -0 - - - - - -100 -Welcome to Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the installer for %ProductName% %ProductVer%. - -It is strongly recommended that you exit all Windows programs before continuing with this installation. - -If you have any other programs running, please click Cancel, close the programs, and run this setup again. - -Otherwise, click Next to continue. - -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% װ - -ǿҽڼðװ֮ǰ˳ Windows - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -100 -Welcome to Update Setup -1 -Welcome to Setup -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 -77 -1 - - -1 -102 -1 -1 -78 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Update -Welcome -Welcome to the installer for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -Welcome to the %ProductName% %ProductVer% upgrade program. - -It is strongly recommended that you exit all programs related to %ProductName% before continuing this installation. - -If you have any other programs running, please click "Cancel" to close the program, and then run the installer again. - -Otherwise, please click "Next" to continue. -Welcome - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% -ӭ -ӭʹ %ProductName% %ProductVer% װ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ӭʹ %ProductName% %ProductVer% - -ǿҽڼðװ֮ǰ˳ %ProductName% صг - -κУ뵥ȡرճȻٴиðװ - -뵥һ - -ӭ - - - - - -125 -License Agreement -2 -License Agreement -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -1 -0 -1 -0 -0 - -1 -1 - - - -5 -602 -1 -1 -35 -1 -602 -603 - - -5 -603 -1 -1 -40 -0 -602 -603 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -License Agreement -Please read the following license agreement carefully. -&Next > -< &Back -&Cancel -&Help -<!DOCTYPE html> -<html> - -<head> - <meta charset="UTF-8"> - <title>End User License Agreement</title> - <style> - body { - /*font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> - -<body> - <h1>End User License Agreement</h1> - - <p>Please read this license agreement carefully before installing or using this software.</p> - - <h2>1. Copyright</h2> - <p>Copyright © 2025 Windows Modern. This software and its source code are protected by copyright law.</p> - - <h2>2. License</h2> - <p>This software is licensed under the MIT License. You are free to use, copy, modify, and distribute this software and its source code, including for commercial purposes, subject to the terms of the MIT License.</p> - - <h2>3. Third-Party Components</h2> - <p>This software includes the following third-party open source components, which are subject to their original licenses:</p> - <ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> - </ul> - - <h2>4. Disclaimer</h2> - <p>This software is provided "as is", without any express or implied warranties, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement. In no event shall the authors or copyright holders be - liable for any damages arising from the use of this software, whether direct, indirect, incidental, or consequential.</p> - - <h2>5. Acceptance</h2> - <p>By installing or using this software, you agree to this license agreement. If you do not agree, do not install or use the software.</p> -<br> -</body> - -</html> -I agree to the terms of this license agreement -I do not agree to the terms of this license agreement - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -Э -ϸĶЭ顣 -һ(&N) > -< (&B) -ȡ(&C) -(&H) -<!DOCTYPE html> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> - <title>ûЭ</title> - <style> - body { - /*font-family: "Microsoft YaHei", "Segoe UI", Arial, sans-serif;*/ - font-size: 9pt; - /*color: #333333; - background-color: #ffffff;*/ --ms-overflow-style: -ms-autohiding-scrollbar; -box-sizing: border-box; - } - - h1 { - font-size: 12.5pt; - font-weight: bold; - margin-bottom: 5px; -text-align: center; - } - - h2 { - font-size: 10.75pt; - font-weight: bold; - margin-top: 5px; - margin-bottom: 5px; - } - - p { - margin: 5px 0; - } - - ul, - ol { - margin: 5px 0; - padding: 0; - } - - a { - color: #1a73e8; - text-decoration: underline; - } - - a:hover { - color: #0b59d1; - text-decoration: none; - } - - strong { - font-weight: bold; - } - - em { - font-style: italic; - } - </style> -</head> -<body> -<h1>ûЭ</h1> - -<p>ڰװʹñǰϸĶЭ顣</p> - -<h2>һȨ</h2> -<p>Copyright &#169; 2025 Windows Modern. ԴܰȨ</p> - -<h2>ɷΧ</h2> -<p>ѭ MIT Э顣ڷ MIT ʹáơ޸ġַԴ룬ҵ;</p> - -<h2></h2> -<p>µԴʹЩԭʼ֤Լ</p> -<ul> - <li>PriTools (Apache License 2.0) - <a href="https://github.com/chausner/PriTools" target="_blank">https://github.com/chausner/PriTools</a></li> - <li>pugixml (MIT License) - <a href="https://pugixml.org/" target="_blank">https://pugixml.org/</a></li> - <li>RapidJSON (MIT License) - <a href="https://rapidjson.org/" target="_blank">https://rapidjson.org/</a></li> - <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> - <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> -<li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> -</ul> - -<h2>ġ</h2> -<p>ԭṩκʾʾĵԡض;ԺͷȨı֤ں£߻Ȩ˾ʹñκֱӡӡżȻ𺦸</p> - -<h2>塢</h2> -<p>װʹñʾܱЭ顣ͬⱾЭ飬벻Ҫװʹñ</p> -<br> -</body> -</html> - -ͬЭ -ҲͬЭ - - - - - - -105 -Scrolling Text -2 -Scrolling Text -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -3 -400 -1 -1 -0 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Important Information -Please read the following information. -&Next > -< &Back -&Cancel -&Help -This is currently in test mode, and this release is solely for testing the program's update features. While this version is available, the official release is still recommended. -Before continuing with the installation, please read the following information carefully: - - -File Association Changes - -This installer will modify system file association settings to associate .appx and .appxbundle files. After installation, this application will be set as the default handler for these file types. - - -Automatic Installation of Required Runtimes - -To ensure proper operation, the installer may automatically download and install required runtime components. - - -Internet Connection and Data Usage - -An internet connection is required to download runtime components and related files. This may result in data usage and could increase network charges. -It is recommended to perform the installation on a non-metered or sufficient data network. - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ҪϢ -ĶϢ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ǰDzģʽд˰汾ڴ˳ĸ¹ܲԡȻ˰汾ãԽʹʽ汾 -ڼװ֮ǰϸĶݣ - - -ļ -޸ -װϵͳ޸ļãڹ .appx .appxbundle ļ -װɺϵͳʹñΪļ͵Ĭϴʽ - - -Զװп - -ΪȷУװпܻԶزװп - - - - -װп⼰ʱҪӻܻһģƷѡ - ǼƷѻ绷 ½аװ - - - - - - -110 -Select Install Folder -2 -Select Install Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppFolder% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -6 -801 -1 -1 -3 -0 -0 -0 -0 - -0 -1 -0 -1 -4 -%AppFolder% - - -1 -110 -1 -1 -4 -0 - - -2 -208 -1 -1 -5 -0 - - -2 -207 -1 -1 -6 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Folder -Where would you like %ProductName% to be installed? -&Next > -< &Back -&Cancel -&Help -C&hange... -%AppFolder% -The software will be installed in the folder listed below. To select a different location, either type in a new path, or click Change to browse for an existing folder. -Install %ProductName% to: -Space required: %SpaceRequired% -Space available on selected drive: %SpaceAvailable% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װļ -뽫 %ProductName% װδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -(&H)... -%AppFolder% -װгļСҪѡͬλãµ·򵥻ġеļС - %ProductName% װ: -ռ: %SpaceRequired% -ѡĿÿռ: %SpaceAvailable% - - - - - -115 -Select Shortcut Folder -2 -Select Shortcut Folder -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -%AppShortcutFolderName% - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -203 -1 -1 -0 -0 - - -2 -211 -1 -1 -1 -0 - - -4 -501 -1 -1 -2 -0 -1 -1 - -4 -1 - - -5 -600 -0 -0 -35 -1 -600 -601 - - -5 -601 -0 -0 -40 -0 -600 -601 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Shortcut Folder -Where would you like the shortcuts to be installed? -&Next > -< &Back -&Cancel -&Help -The shortcut icons will be created in the folder indicated below. If you don't want to use the default folder, you can either type a new name, or select an existing folder from the list. -Shortcut Folder: -Install shortcuts for current user only -Make shortcuts available to all users -%AppShortcutFolderName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ݷʽļ -뽫ݷʽװδ -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ݷʽͼ꽫ָļдʹĬļУԼµƣбѡеļС -ݷʽļ: -ֻԵǰûװݷʽ -ʹݷʽû -%AppShortcutFolderName% - - - - - -100 -Ready to Install -2 -Ready to Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -1 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -0 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Ready to Install -You are now ready to install %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -The installer now has enough information to install %ProductName% on your computer. - - -The following settings will be used: - -Install folder: %AppFolder% - -Shortcut folder: %AppShortcutFolderName% - - -Please click Next to proceed with the installation. -Title - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -׼װ -׼װ %ProductName% %ProductVer% -һ(&N) > -< (&B) -ȡ(&C) -(&H) -ڰװ㹻Ϣ %ProductName% װļС - - -ʹ: - -װļ: %AppFolder% - -ݷʽļ: %AppShortcutFolderName% - - -뵥һװ - - - - - - - -1 - - -130 -One Progress Bar (While Installing) -2 -One Progress Bar (While Installing) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ڰװ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -155 -Scrolling Text Progress -2 -Scrolling Text Progress -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -0 - - -On Preload - - - - - - -On Start - - - - - - -On Finish - - - - - - -On Cancel - - - - - - - - -1 -102 -1 -0 --10 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -204 -1 -1 -3 -0 - - -3 -400 -1 -1 -2 -0 -0 -1 -0 -0 - -1 -1 - - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Performing Actions -Please wait... -&Cancel -Please wait while the following actions are performed: - - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -ִж -Ժ... -ȡ(&C) -Ժִ¶: - - - - - - - -100 -Finished Install -1 -Finished Install -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Setup -Installation Finished -The installation has completed successfully. -&Finish -< &Back -&Cancel -&Help -The %ProductName% %ProductVer% installation is complete. - -Thank you for choosing %ProductName%! - -Please click Finish to exit this installer. - -Installation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% װ -װ -װѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% װɡ - -лѡ %ProductName% - -뵥ɡ˳ðװ - -װɹ - - - - - - - - -List 1 - -All - - - - - -1 -uninstall.xml -%AppFolder%\Uninstall -%AppFolder%\uninstall.exe -1 -0 -0 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -0 - -0 -0 -%ProductName% Uninstall - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright% %CompanyName%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
-1 -1 -1 -1 -Microsoft.DesktopAppInstaller -%ProductName% -1 -%AppFolder%\appinstaller.exe -1 -%CompanyName% -%CompanyURL% -%CompanyName% Support Department -%CompanyURL% -%ProductVer% - - - - - -%AppFolder% -0 -1 -1 -Uninstall -Removes %ProductName% from your computer. -1 -%AppFolder%\uninstall_icon.ico -0 -1 -%TempFolder%\%ProductName% Uninstall Log.txt -0 -0 -1 - - -100 -Welcome to Uninstall -1 -Welcome to Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -1 --9 -1 - - -2 -200 -1 -1 -1 -0 - - -2 -300 -1 -1 -0 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Welcome -Welcome to the uninstaller for %ProductName% %ProductVer% -&Next > -< &Back -&Cancel -&Help -This program will uninstall %ProductName% %ProductVer%. - -If %ProductName% is currently running, please close it before proceeding with the uninstallation. - -Otherwise, click Next to continue. - -Uninstall %ProductName% - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ӭ -ӭʹ %ProductName% %ProductVer% жس -һ(&N) > -< (&B) -ȡ(&C) -(&H) -óж %ProductName% %ProductVer% - - %ProductName% ǰУж֮ǰ뽫رա - -뵥һ - -ж %ProductName% - - - - - - -1 - - -130 -One Progress Bar (While Uninstalling) -2 -One Progress Bar (While Uninstalling) -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - -1 - - -On Preload - - - - - - -On Progress -number e_Stage, string e_CurrentItemText, number e_CurrentItemPct, number e_StagePct - - - - - -On Cancel - - - - - - - - -1 -102 -1 -1 -78 -1 - - -2 -203 -1 -1 -1 -0 - - -2 -211 -1 -1 -2 -0 - - -2 -212 -1 -1 -3 -0 - - -7 -900 -1 -1 -4 - -0 -100 -1 - - -2 -213 -0 -1 -2 -0 - - -2 -214 -0 -1 -3 -0 - - -7 -901 -0 -1 -4 - -0 -100 -0 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Removing %ProductName% -Please wait... -&Cancel - - - - -Progress Two -Performing Actions... - - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -Ƴ %ProductName% -Ժ... -ȡ(&C) - - - - -̶ -ִж... - - - - - - - - - -100 -Finished Uninstall -1 -Finished Uninstall -0 - -0 -ffffff -ece9d8 -ece9d8 -000000 -000000 -ffffff -ece9d8 -ece9d8 -ffffff -aca899 -000000 -000000 -aca899 -316ac5 -716f64 -Developer_top.jpg -Developer_side.jpg -Developer_body.jpg -0 -0 -1 -0 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --13 -700 -0 -0 -0 -1 - - -Arial -0 --24 -700 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - -Arial -0 --13 -400 -0 -0 -0 -1 - - - -0 -15 -15 -15 -15 - - -1 -15 -15 -15 -15 - - -2 -15 -15 -15 -15 - -10 -10 -497 -362 - - - -On Preload - - - - - - -On Back - - - - - - -On Next - - - - - - -On Cancel - - - - - - -On Help - - - - - - -On Ctrl Message -number e_CtrlID, number e_MsgID, table e_Details - - - - - - - -1 -103 -0 -0 -75 -1 - - -1 -101 -1 -0 -76 -1 - - -1 -100 -1 -1 --10 -1 - - -1 -102 -1 -0 --9 -1 - - -2 -200 -1 -1 -0 -0 - - -2 -300 -1 -1 -1 -1 - - - - - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -%ProductName% Uninstaller -Uninstallation Finished -The uninstallation has completed successfully. -&Finish -< &Back -&Cancel -&Help -%ProductName% %ProductVer% has been uninstalled. - -Please click Finish to exit. - -Uninstallation Successful - - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - -%ProductName% жس -ж -жѳɹɡ -(&F) -< (&B) -ȡ(&C) -(&H) -%ProductName% %ProductVer% ѱжء - -뵥ɡ˳ - -жسɹ - - - - - - - -ʱ - - - - - - -On Uninstall Error -number e_ErrorCode, string e_ErrorMsgID - - - - - -On Post Uninstall - - - - - - -
- - -1 -%TempFolder%\%ProductName% Setup Log.txt -0 -1 - -0 -0 -0 -1 -2 - -0 -0 -1 -008080 -b4c2e3 -5971b6 - -1 -%TempLaunchFolder%\main.ico -0 -0 -%ProductName% - - -Arial -0 --37 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -v%ProductVer% - - -Arial -0 --18 -700 -1 -0 -0 -1 - - -ffffff -000000 -0 -1 -
%Copyright%. All rights reserved. %CompanyURL%
- - -Arial -0 --16 -400 -0 -0 -0 -1 - - -ffffff -000000 -0 -1 -
- -0 -0 -30 -30 -1 -1767105338 -0 -0 -1 -1 -2 -1 -0 -03F9811E-4657-4757-A24D-570C64F8ABB6 -0 -%CompanyName% -%CompanyURL% - - - - - -32768 -65535 -65535 -65535 -0 -0 -0 -0 -0 -0 -65535 -65535 -65535 -65535 -65535 -65535 - -0 -0 -0 -0 -1 -0 - - -Developer -New Project - - - -Copyright 2025 - - -9.5.3.0 -9.5.3.0 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\shared - -0 - - - - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -1 -0 - -All - - - -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\others\runtime.exe -1 -0 - -All - - - - - -ȫֺ - - - - - - -ʱ - - - - - - -ڰװ - - - - - - -ڹرʱ - - - - - - -
- - -English -1 -9 - -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 - - - -Chinese (Simplified) -0 -4 - -2 -3 -4 -5 - - - - - -%ProductName% -Desktop App Installer -1 - - -%CompanyName% -Windows Modern -1 - - -%ProductVer% -0.2.2.0 -1 - - -%Copyright% -Copyright (C)2025 %CompanyName% -1 - - -%CompanyURL% - -1 - - -%WindowTitle% -%ProductName% Setup -1 - - -%WindowTitleUninstall% -%ProductName% Uninstaller -1 - - -%AppFolder% -%ProgramFilesFolder%\%ProductName% -2 - - -%AppShortcutFolderName% -%ProductName% -2 - - - - -Default - - -0 - - -0 -InstallerSetup.exe -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Generated -0 -0 -0 -0 -0 -0 - -1 - - - - - -1 - - -0 - - - - - -1 -E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\appinstaller\res\icons\main.ico -9.5.3.0 -9.5.3.0 -Indigo Rose Corporation -Setup Factory Runtime -Created with Setup Factory -sf_rt -Setup Application -Setup Engine Copyright ?1992-2019 Indigo Rose Corporation -Setup Factory is a trademark of Indigo Rose Corporation - - -0 - - - - - - -#SUFDIR#\Includes\Scripts\_SUF70_Global_Functions.lua -1 - -All - - - -
\ No newline at end of file diff --git a/others/buildsetup.suf b/others/buildsetup.suf index 159e804..7dbc1d3 100644 --- a/others/buildsetup.suf +++ b/others/buildsetup.suf @@ -1172,6 +1172,444 @@ 0 0 + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\AppxPackage.dll +AppxPackage.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\Bridge.dll +Bridge.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\DataUtils.dll +DataUtils.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\Newtonsoft.Json.dll +Newtonsoft.Json.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\PrivateInit.dll +PrivateInit.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + + +0 +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release\WAShell.dll +WAShell.dll +E:\Profiles\Bruce\Documents\Visual Studio 2015\Projects\AppInstallerReset\Release +dll + + +1 +0 +%AppFolder% +1 +0 +0 +1000 +0 +0 +0 +0 +0 +0 +0 +0 + + + + + +0 + +0 +0 +0 +0 + +0 +0 +0 +1 +1 +0 +0 +0 +0 + +32768 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 +65535 + + + +All + +None + + +0 +0 +0 + @@ -2479,6 +2917,7 @@ text-align: center; <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> <li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> +<li>Json.NET (MIT License) - <a href="https://www.newtonsoft.com/json" target="_blank">https://www.newtonsoft.com/json</a></li> </ul> <h2>4. Disclaimer</h2> @@ -2594,6 +3033,7 @@ text-align: center; <li>WinJS (MIT License) - <a href="https://github.com/winjs/winjs" target="_blank">https://github.com/winjs/winjs</a></li> <li>markdown.js (MIT License) - <a href="https://github.com/evilstreak/markdown-js" target="_blank">https://github.com/evilstreak/markdown-js</a></li> <li>CodeMirror (MIT License) - <a href="https://codemirror.net/" target="_blank">https://codemirror.net/</a></li> +<li>Json.NET (MIT License) - <a href="https://www.newtonsoft.com/json" target="_blank">https://www.newtonsoft.com/json</a></li> </ul> <h2>ġ</h2> @@ -6615,7 +7055,7 @@ g_HandleSystemReboot(); %ProductVer% -0.2.2.2 +0.2.2.3 1 diff --git a/pkgread/pkgread.h b/pkgread/pkgread.h index 39085cf..f5d4df7 100644 --- a/pkgread/pkgread.h +++ b/pkgread/pkgread.h @@ -364,6 +364,7 @@ class package_reader prifilebundle pribundlereader; std::vector prifilestreams; #endif + void initpri () { #ifdef _PRI_READER_CLI_HEADER_ @@ -404,16 +405,21 @@ class package_reader case 0b10: { if (hlpri) pribundlereader.set (1, (IStream *)hlpri); if (hspri) pribundlereader.set (2, (IStream *)hspri); + if (hlpri) prifilestreams.push_back ((IStream *)hlpri); + if (hspri) prifilestreams.push_back ((IStream *)hspri); HANDLE hd = GetAppxBundleApplicationPackageFile (hReader); destruct relthd ([&hd] () { if (hd) DestroyAppxFileStream (hd); }); HANDLE hdpri = GetPriFileFromPayloadPackage (hd); if (hd) pribundlereader.set (3, (IStream *)hd); + if (hd) prifilestreams.push_back ((IStream *)hdpri); } break; case 0b11: { if (ls) pribundlereader.set (1, (IStream *)hlpri); if (ss) pribundlereader.set (2, (IStream *)hspri); + if (ls && hlpri) prifilestreams.push_back ((IStream *)hlpri); + if (ss && hspri) prifilestreams.push_back ((IStream *)hspri); } break; default: case 0b00: { diff --git a/settings/main.cpp b/settings/main.cpp index 54b4691..a64d494 100644 --- a/settings/main.cpp +++ b/settings/main.cpp @@ -56,7 +56,7 @@ struct iconhandle LPCWSTR g_lpAppId = L"WindowsModern.PracticalToolsProject!Settings"; LPCWSTR g_idInVe = L"Settings"; -LPCWSTR g_wndclass = L"Win32_WebUI_WindowsModern"; +LPCWSTR g_wndclass = L"Win32_WebUI_WindowsModern_Settings"; iconhandle g_hIconMain (LoadRCIcon (IDI_ICON_MAIN)); initfile g_initfile (CombinePath (GetProgramRootDirectoryW (), L"config.ini")); vemanifest g_vemani ( diff --git a/shared/html/fonts/segx.css b/shared/html/fonts/segx.css new file mode 100644 index 0000000..ea73be9 --- /dev/null +++ b/shared/html/fonts/segx.css @@ -0,0 +1,13 @@ +@font-face { + font-family: "segxmvr"; + src: url('segxmvr.woff') format('woff'), url('segxmvr.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Segoe Xbox Symbol"; + src: url('segxsym.woff') format('woff'), url('segxsym.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/shared/html/fonts/segxmvr.ttf b/shared/html/fonts/segxmvr.ttf new file mode 100644 index 0000000..1338581 Binary files /dev/null and b/shared/html/fonts/segxmvr.ttf differ diff --git a/shared/html/fonts/segxmvr.woff b/shared/html/fonts/segxmvr.woff new file mode 100644 index 0000000..7aa2cfe Binary files /dev/null and b/shared/html/fonts/segxmvr.woff differ diff --git a/shared/html/fonts/segxsym.ttf b/shared/html/fonts/segxsym.ttf new file mode 100644 index 0000000..67e10d5 Binary files /dev/null and b/shared/html/fonts/segxsym.ttf differ diff --git a/shared/html/fonts/segxsym.woff b/shared/html/fonts/segxsym.woff new file mode 100644 index 0000000..847fa08 Binary files /dev/null and b/shared/html/fonts/segxsym.woff differ diff --git a/shared/html/js/bridge.js b/shared/html/js/bridge.js index 3e7ac28..e0e4118 100644 --- a/shared/html/js/bridge.js +++ b/shared/html/js/bridge.js @@ -92,12 +92,14 @@ Object.defineProperty(global.Bridge.UI, "darkmode", { get: function() { return ext.System.UI.DarkMode; } }); - Object.defineProperty(global.Bridge.UI.Splash, "backcolor", { - get: function() { return ext.System.UI.SplashBackgroundColor; }, - }); - Object.defineProperty(global.Bridge.UI.Splash, "imageurl", { - get: function() { return ext.System.UI.SplashImage; }, - }); - - + try { + Object.defineProperty(global.Bridge.UI.Splash, "backcolor", { + get: function() { return ext.System.UI.SplashBackgroundColor; }, + }); + } catch (e) {} + try { + Object.defineProperty(global.Bridge.UI.Splash, "imageurl", { + get: function() { return ext.System.UI.SplashImage; }, + }); + } catch (e) {} })(this); \ No newline at end of file diff --git a/shared/html/js/pages.js b/shared/html/js/pages.js index 8062fca..e922411 100644 --- a/shared/html/js/pages.js +++ b/shared/html/js/pages.js @@ -336,7 +336,7 @@ var version = content.querySelector(".id.version"); version.textContent = stringifyVersion(pkginfo.identity.realver); var arch = content.querySelector(".id.arch"); - console.log(pkginfo.identity.architecture); + //console.log(pkginfo, JSON.stringify(pkginfo)); if (pkginfo.type === 1) { switch (pkginfo.identity.architecture) { case 1: diff --git a/shared/html/js/resources.js b/shared/html/js/resources.js index 5041557..79258c6 100644 --- a/shared/html/js/resources.js +++ b/shared/html/js/resources.js @@ -36,10 +36,10 @@ for (var i = 0; i < nodes.length; i++) { if (nodes[i].hasAttribute('data-res-byname')) { var resName = nodes[i].getAttribute('data-res-byname'); - nodes[i].textContent = Bridge.Resources.byname(resName); + try { nodes[i].textContent = Bridge.Resources.byname(resName); } catch (e) {} } else if (nodes[i].hasAttribute('data-res-byid')) { var resId = parseInt(nodes[i].getAttribute('data-res-byid'), 10); - nodes[i].textContent = Bridge.Resources.byid(resId); + try { nodes[i].textContent = Bridge.Resources.byid(resId); } catch (e) {} } else if (nodes[i].hasAttribute('data-res-fromfile')) { try { var obj = eval(nodes[i].getAttribute('data-res-fromfile')); diff --git a/shared/html/manager.html b/shared/html/manager.html new file mode 100644 index 0000000..c3a81f2 --- /dev/null +++ b/shared/html/manager.html @@ -0,0 +1,93 @@ + + + + + Package Manager + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+

应用

+

在这里,可以对安装的 Windows 商店应用进行管理。

+

安装的应用

+ +
+
+ +
+
+
+
App Name
+
+
+
+
    +
  • +
+
+
+ +
+
+ + + \ No newline at end of file diff --git a/shared/html/manager/appitem.css b/shared/html/manager/appitem.css new file mode 100644 index 0000000..229eff4 --- /dev/null +++ b/shared/html/manager/appitem.css @@ -0,0 +1,118 @@ +.appitem { + padding: 10px; + box-sizing: border-box; + height: 60px; + width: 450px; + max-width: 100%; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: row; + /* IE10 */ + flex-direction: row; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-line-pack: start; + /* IE10 -> align-content */ + align-content: flex-start; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); +} + +.appitem:hover { + background-color: rgba(242, 242, 242, 1); +} + +.appitem:active { + transform: scale(0.9695); + -ms-transform: scale(0.9695); +} + +.appitem div[role=img] { + width: 40px; + height: 40px; + background-color: #464646; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: row; + /* IE10 */ + flex-direction: row; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-pack: center; + /* IE10 -> justify-content */ + justify-content: center; + -ms-flex-align: center; + /* IE10 -> align-items */ + align-items: center; + -ms-flex-line-pack: center; + /* IE10 -> align-content */ + align-content: center; +} + +.appitem div[role=divide] { + width: 10px; + min-width: 10px; + height: 100%; +} + +.appitem div[role=excepticon] div[role=title] { + font-weight: normal; + flex: 1; + -ms-flex: 1; +} + +.appitem div[role=excepticon] { + -ms-flex: 1; + flex: 1; + display: -ms-flexbox; + /* IE10 */ + display: flex; + -ms-flex-direction: column; + /* IE10 */ + flex-direction: column; + -ms-flex-wrap: nowrap; + /* IE10 */ + flex-wrap: nowrap; + -ms-flex-line-pack: start; + /* IE10 -> align-content */ + align-content: flex-start; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; +} + +.appitem div[role=excepticon] div[role=control] { + display: none; + /* IE10 */ + display: flex; + -ms-flex-direction: row-reverse; + /* IE10 */ + flex-direction: row-reverse; + -ms-flex-wrap: wrap; + /* IE10 */ + flex-wrap: wrap; + -ms-flex-line-pack: end; + /* IE10 -> align-content */ + align-content: flex-end; + -ms-flex-pack: start; + /* IE10 -> justify-content */ + justify-content: flex-start; + -ms-flex-align: center; + /* IE10 -> align-items */ + align-items: center; +} + +.appitem.selected { + height: 119px; +} + +.appitem.selected div[role=excepticon] div[role=control] { + display: flex; + display: -ms-flexbox; +} \ No newline at end of file diff --git a/shared/html/manager/page.css b/shared/html/manager/page.css new file mode 100644 index 0000000..adf4c16 --- /dev/null +++ b/shared/html/manager/page.css @@ -0,0 +1,318 @@ +body { + margin: 0; + width: 100%; + height: 100%; + -ms-overflow-style: -ms-autohiding-scrollbar; + user-select: none; + -ms-user-select: none; +} + +body * { + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +*, +button, +input, +select, +textarea, +a, +label, +p, +span, +h1, +h2, +h3, +h4, +h5, +h6, +ul, +ol, +li, +dl, +dt, +dd, +table, +th, +td, +tr, +img, +iframe, +object, +embed, +audio, +video, +canvas, +form, +fieldset, +legend, +.win-type-x-large, +.win-type-xx-large, +.font-fixed { + font-family: "Microsoft YaHei", "Segoe UI", "Ebrima", "Nirmala", "Gadugi", "Segoe UI Emoji", "Segoe UI Symbol", "Meiryo", "Leelawadee", "Microsoft JhengHei", "Malgun Gothic", "Estrangelo Edessa", "Microsoft Himalaya", "Microsoft New Tai Lue", "Microsoft PhagsPa", "Microsoft Tai Le", "Microsoft Yi Baiti", "Mongolian Baiti", "MV Boli", "Myanmar Text", "Javanese Text", "Cambria Math"; +} + +.pagecontainer { + padding: 0px; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: hidden; + box-sizing: border-box; + margin: 0px; + padding: 0px; + border: 0px; + /* background-color: #f3f3f3; */ + background-color: white; +} + +.pagecontainer.full { + padding: 0px; + top: 0; + left: 0; + width: 100%; + height: 100%; + max-width: 100%; + max-height: 100%; +} + +.pagecontainer>.page { + position: relative; + overflow-x: hidden; + overflow-y: hidden; + box-sizing: border-box; + top: 0px; + left: 0px; + width: 100%; + height: 100%; +} + +.page>aside { + overflow-y: auto; + overflow-x: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + background-color: rgba(34, 34, 34, 1); + position: absolute; + left: 0; + top: 0; + bottom: 0; + box-sizing: border-box; + width: 300px; +} + +.page.fold>aside { + width: 90px; +} + +.page>main { + overflow-x: hidden; + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + position: absolute; + right: 0; + top: 0; + bottom: 0; + box-sizing: border-box; + left: 300px; +} + +.page.fold>main { + left: 90px; +} + +.page>aside hr { + margin-top: 9px; + margin-bottom: 9px; + width: calc(100% - 35px * 2); + border-color: rgba(100, 100, 100, 1); +} + +.page.fold>aside hr { + width: calc(100% - 10px * 2); +} + +aside>nav { + padding-top: 40px; + box-sizing: border-box; +} + +aside>nav ul { + margin: 0px; + padding: 0px; + box-sizing: border-box; +} + +aside>nav ul li { + width: 100%; + height: 50px; + box-sizing: border-box; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + font-size: 13pt; + padding: 0 35px; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: flex-start; + align-items: center; + display: -ms-flexbox; + -ms-flex-direction: row; + -ms-flex-pack: start; + -ms-flex-align: center; +} + +.page.fold>aside>nav ul li { + padding: 0; +} + +aside>nav ul li div[role=img] { + height: 100%; + text-align: center; + font-family: 'Segoe UI Symbol', Symbols, 'Segoe Xbox Symbol', segxmvr, 'Segoe MDL2 Assets', 'Segoe Fluent Icons'; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: center; + align-items: center; + display: -ms-flexbox; + -ms-flex-direction: row; + -ms-flex-wrap: none; + -ms-flex-pack: center; + -ms-flex-align: center; + -ms-flex-line-pack: center; + text-align: center; +} + +.page.fold>aside>nav ul li div[role=img] { + min-width: 90px; + width: 90px; +} + +.page.fold>aside>nav ul li span { + display: none; + opacity: 0; +} + +.page>aside>nav ul li span { + display: block; + opacity: 1; + text-overflow: ellipsis; + transition: all 0.3s cubic-bezier(0.1, 0.9, 0.2, 1); + white-space: nowrap; + /* 不换行 */ + overflow-x: hidden; + /* 超出隐藏 */ + overflow-y: hidden; +} + +.page>aside>nav ul li div[role=img] { + font-size: 15pt; + margin-right: 5px; +} + +.page>aside>nav ul li.title div[role=img] { + font-size: 13pt; + margin: 0; +} + +.page>aside>nav ul li.title { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -ms-flex-wrap: nowrap; + -ms-flex-pack: start; + /* justify-content: flex-start */ + -ms-flex-align: center; + /* align-items: center */ + align-content: center; +} + +.page>aside>nav ul li.title span, +.page>aside>nav ul li.title div[role=placeholder] { + flex: 1; + -ms-flex: 1; +} + +.page.fold>aside>nav ul li.title div[role=placeholder] { + display: none; +} + +.page>aside>nav ul li:hover { + background-color: rgba(58, 58, 58, 1); + position: relative; +} + +.page.fold>aside>nav ul li:hover { + width: 300px; + padding: 0 30px; +} + +.page.fold>aside>nav ul li:hover div[role=img] { + min-width: 0; + width: auto; +} + +.page.fold>aside>nav ul li:hover span { + display: block; + opacity: 1; + padding: 0 30px; +} + +.page.fold>aside>nav ul li.title:hover { + width: 90px; + padding: 0; +} + +.page.fold>aside>nav ul li.title:hover div[role=img] { + min-width: 0; + width: 90px; +} + +.page.fold>aside>nav ul li.title:hover span { + display: none; + opacity: 0; +} + +.page>aside>nav ul li:active { + background-color: rgba(100, 100, 100, 1); +} + +.page.fold aside, +.page.fold aside>nav, +.page.fold aside>nav ul, +.page.fold aside>nav ul li { + overflow-x: visible; + overflow-y: visible; +} + +.main.padding { + padding: 44px 60px; +} + +.section { + width: 100%; + height: 100%; + box-sizing: border-box; + overflow-x: hidden; + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + position: absolute; + top: 0px; + left: 0px; + background-color: white; +} + +.section.padding { + padding: 44px 60px; +} + +.section.padding .bottom-compensate { + padding-bottom: 44px; +} \ No newline at end of file diff --git a/shared/html/settings/appinstaller/about.html b/shared/html/settings/appinstaller/about.html index eb1ce0d..d2f243a 100644 --- a/shared/html/settings/appinstaller/about.html +++ b/shared/html/settings/appinstaller/about.html @@ -86,6 +86,7 @@
  • WinJS
  • markdown.js
  • CodeMirror
  • +
  • Newtonsoft.Json