From 5bd63d337bf57e6c4f105fee1671ea48e88c9c15 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Tue, 21 Jul 2020 18:14:46 +0900 Subject: [PATCH] Create setup.iss --- setup.iss | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 setup.iss diff --git a/setup.iss b/setup.iss new file mode 100644 index 0000000..4ca2366 --- /dev/null +++ b/setup.iss @@ -0,0 +1,63 @@ +; @breif WelsonJS +; @author Go Namhyeon (catswords@protonmail.com) +; @created_on 2020-06-26 +; @updated_on 2020-07-21 + +[Setup] +AppName=WelsonJS +AppVersion=0.1.2 +WizardStyle=modern +DefaultDirName={pf}\WelsonJS +DefaultGroupName=WelsonJS +UninstallDisplayIcon={app}\UnInst.exe +Compression=lzma2 +SolidCompression=yes +OutputDir=. +PrivilegesRequired=admin +ArchitecturesInstallIn64BitMode=x64 + +; [Registry] +; Root: HKCR; Subkey: "welsonjs"; ValueType: "string"; ValueData: "URL:{cm:AppName}"; Flags: uninsdeletekey +; Root: HKCR; Subkey: "welsonjs"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: "" +; Root: HKCR; Subkey: "welsonjs\DefaultIcon"; ValueType: "string"; ValueData: "{app}\app\favicon.ico,0" +; Root: HKCR; Subkey: "welsonjs\shell\open\command"; ValueType: "string"; ValueData: "cscript ""{app}\app.js"" uriloader ""%1""" + +[Files] +Source: "app.js"; DestDir: "{app}"; +Source: "app.hta"; DestDir: "{app}"; +Source: "uriloader.js"; DestDir: "{app}"; +Source: "webloader.js"; DestDir: "{app}"; +Source: "bootstrap.js"; DestDir: "{app}"; +Source: "app\*"; DestDir: "{app}/app"; Flags: ignoreversion recursesubdirs; +Source: "node_modules\*"; DestDir: "{app}/node_modules"; Flags: ignoreversion recursesubdirs; + +[Icons] +Name: "{group}\Uninstall {cm:AppName}"; Filename: "{uninstallexe}"; AfterInstall: SetElevationBit('{group}\Uninstall {cm:AppName}.lnk'); + +; [Run] +; Filename: {app}\app.hta; + +[CustomMessages] +AppName=WelsonJS + +[Code] +procedure SetElevationBit(Filename: string); +var + Buffer: string; + Stream: TStream; +begin + Filename := ExpandConstant(Filename); + Log('Setting elevation bit for ' + Filename); + + Stream := TFileStream.Create(FileName, fmOpenReadWrite); + try + Stream.Seek(21, soFromBeginning); + SetLength(Buffer, 1); + Stream.ReadBuffer(Buffer, 1); + Buffer[1] := Chr(Ord(Buffer[1]) or $20); + Stream.Seek(-1, soFromCurrent); + Stream.WriteBuffer(Buffer, 1); + finally + Stream.Free; + end; +end;