inno: move inno installer files to contrib/packaging/inno
Let's isolate the inno installer files to their own directory
so the separation between things is clearer.
This required adjusting a few relative paths and references to
the old directory.
Differential Revision: https://phab.mercurial-scm.org/D6059
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/packaging/inno/mercurial.iss Sun Mar 03 18:22:49 2019 -0800
@@ -0,0 +1,120 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#ifndef VERSION
+#define FileHandle
+#define FileLine
+#define VERSION = "unknown"
+#if FileHandle = FileOpen(SourcePath + "\..\..\..\mercurial\__version__.py")
+ #expr FileLine = FileRead(FileHandle)
+ #expr FileLine = FileRead(FileHandle)
+ #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
+#endif
+#if FileHandle
+ #expr FileClose(FileHandle)
+#endif
+#pragma message "Detected Version: " + VERSION
+#endif
+
+#ifndef ARCH
+#define ARCH = "x86"
+#endif
+
+[Setup]
+AppCopyright=Copyright 2005-2019 Matt Mackall and others
+AppName=Mercurial
+AppVersion={#VERSION}
+#if ARCH == "x64"
+AppVerName=Mercurial {#VERSION} (64-bit)
+OutputBaseFilename=Mercurial-{#VERSION}-x64
+ArchitecturesAllowed=x64
+ArchitecturesInstallIn64BitMode=x64
+#else
+AppVerName=Mercurial {#VERSION}
+OutputBaseFilename=Mercurial-{#VERSION}
+#endif
+InfoAfterFile=contrib/win32/postinstall.txt
+LicenseFile=COPYING
+ShowLanguageDialog=yes
+AppPublisher=Matt Mackall and others
+AppPublisherURL=https://mercurial-scm.org/
+AppSupportURL=https://mercurial-scm.org/
+AppUpdatesURL=https://mercurial-scm.org/
+AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
+AppContact=mercurial@mercurial-scm.org
+DefaultDirName={pf}\Mercurial
+SourceDir=..\..\..
+VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
+VersionInfoCopyright=Copyright 2005-2019 Matt Mackall and others
+VersionInfoCompany=Matt Mackall and others
+InternalCompressLevel=max
+SolidCompression=true
+SetupIconFile=contrib\win32\mercurial.ico
+AllowNoIcons=true
+DefaultGroupName=Mercurial
+PrivilegesRequired=none
+
+[Files]
+Source: contrib\mercurial.el; DestDir: {app}/Contrib
+Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
+Source: contrib\zsh_completion; DestDir: {app}/Contrib
+Source: contrib\bash_completion; DestDir: {app}/Contrib
+Source: contrib\tcsh_completion; DestDir: {app}/Contrib
+Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
+Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
+Source: contrib\xml.rnc; DestDir: {app}/Contrib
+Source: contrib\mercurial.el; DestDir: {app}/Contrib
+Source: contrib\mq.el; DestDir: {app}/Contrib
+Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib
+Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib
+Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
+Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
+Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
+#if ARCH == "x64"
+Source: dist\lib\*.dll; Destdir: {app}\lib
+Source: dist\lib\*.pyd; Destdir: {app}\lib
+#else
+Source: dist\w9xpopen.exe; DestDir: {app}
+#endif
+Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
+Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
+Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
+Source: dist\lib\library.zip; DestDir: {app}\lib
+Source: dist\add_path.exe; DestDir: {app}
+Source: doc\*.html; DestDir: {app}\Docs
+Source: doc\style.css; DestDir: {app}\Docs
+Source: mercurial\help\*.txt; DestDir: {app}\help
+Source: mercurial\help\internals\*.txt; DestDir: {app}\help\internals
+Source: mercurial\default.d\*.rc; DestDir: {app}\default.d
+Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
+Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
+Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
+Source: COPYING; DestDir: {app}; DestName: Copying.txt
+
+[INI]
+Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: https://mercurial-scm.org/
+Filename: {app}\default.d\editor.rc; Section: ui; Key: editor; String: notepad
+
+[UninstallDelete]
+Type: files; Name: {app}\Mercurial.url
+Type: filesandordirs; Name: {app}\default.d
+Type: files; Name: "{app}\hg.exe.local"
+
+[Icons]
+Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
+Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
+Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
+Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
+Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
+
+[Run]
+Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
+
+[UninstallRun]
+Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
+
+[Code]
+procedure Touch(fn: String);
+begin
+ SaveStringToFile(ExpandConstant(fn), '', False);
+end;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/packaging/inno/readme.txt Sun Mar 03 18:22:49 2019 -0800
@@ -0,0 +1,131 @@
+The standalone Windows installer for Mercurial is built in a somewhat
+jury-rigged fashion.
+
+It has the following prerequisites. Ensure to take the packages
+matching the mercurial version you want to build (32-bit or 64-bit).
+
+ Python 2.6 for Windows
+ http://www.python.org/download/releases/
+
+ A compiler:
+ either MinGW
+ http://www.mingw.org/
+ or Microsoft Visual C++ 2008 SP1 Express Edition
+ http://www.microsoft.com/express/Downloads/Download-2008.aspx
+
+ Python for Windows Extensions
+ http://sourceforge.net/projects/pywin32/
+
+ mfc71.dll (just download, don't install; not needed for Python 2.6)
+ http://starship.python.net/crew/mhammond/win32/
+
+ Visual C++ 2008 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
+ for 32-bit:
+ http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
+ for 64-bit:
+ http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6
+
+ The py2exe distutils extension
+ http://sourceforge.net/projects/py2exe/
+
+ GnuWin32 gettext utility (if you want to build translations)
+ http://gnuwin32.sourceforge.net/packages/gettext.htm
+
+ Inno Setup
+ http://www.jrsoftware.org/isdl.php#qsp
+
+ Get and install ispack-5.3.10.exe or later (includes Inno Setup Processor),
+ which is necessary to package Mercurial.
+
+ ISTool - optional
+ http://www.istool.org/default.aspx/
+
+ add_path (you need only add_path.exe in the zip file)
+ http://www.barisione.org/apps.html#add_path
+
+ Docutils
+ http://docutils.sourceforge.net/
+
+ CA Certs file
+ http://curl.haxx.se/ca/cacert.pem
+
+And, of course, Mercurial itself.
+
+Once you have all this installed and built, clone a copy of the
+Mercurial repository you want to package, and name the repo
+C:\hg\hg-release.
+
+In a shell, build a standalone copy of the hg.exe program.
+
+Building instructions for MinGW:
+ python setup.py build -c mingw32
+ python setup.py py2exe -b 2
+Note: the previously suggested combined command of "python setup.py build -c
+mingw32 py2exe -b 2" doesn't work correctly anymore as it doesn't include the
+extensions in the mercurial subdirectory.
+If you want to create a file named setup.cfg with the contents:
+[build]
+compiler=mingw32
+you can skip the first build step.
+
+Building instructions with MSVC 2008 Express Edition:
+ for 32-bit:
+ "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
+ python setup.py py2exe -b 2
+ for 64-bit:
+ "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
+ python setup.py py2exe -b 3
+
+Copy add_path.exe and cacert.pem files into the dist directory that just got created.
+
+If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
+mercurial, you must include the C runtime libraries in the installer. To do so,
+install the Visual C++ 2008 redistributable package. Then in your windows\winsxs
+folder, locate the folder containing the dlls version 9.0.21022.8.
+For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
+For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
+Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
+directory.
+Then in the windows\winsxs\manifests folder, locate the corresponding manifest
+file (x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x86,
+amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x64), copy it in the
+dist directory and rename it to Microsoft.VC90.CRT.manifest.
+
+Before building the installer, you have to build Mercurial HTML documentation
+(or fix mercurial.iss to not reference the doc directory):
+
+ cd doc
+ mingw32-make html
+ cd ..
+
+If you use ISTool, you open the
+C:\hg\hg-release\contrib\packaging\inno\mercurial.iss
+file and type Ctrl-F9 to compile the installer file.
+
+Otherwise you run the Inno Setup compiler. Assuming it's in the path
+you should execute:
+
+ iscc contrib\packaging\inno\mercurial.iss /dVERSION=foo
+
+Where 'foo' is the version number you would like to see in the
+'Add/Remove Applications' tool. The installer will be placed into
+a directory named Output/ at the root of your repository.
+If the /dVERSION=foo parameter is not given in the command line, the
+installer will retrieve the version information from the __version__.py file.
+
+If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
+your command line:
+ iscc contrib\packaging\inno\mercurial.iss /dARCH=x64
+
+To automate the steps above you may want to create a batchfile based on the
+following (MinGW build chain):
+
+ echo [build] > setup.cfg
+ echo compiler=mingw32 >> setup.cfg
+ python setup.py py2exe -b 2
+ cd doc
+ mingw32-make html
+ cd ..
+ iscc contrib\packaging\inno\mercurial.iss /dVERSION=snapshot
+
+and run it from the root of the hg repository (c:\hg\hg-release).
--- a/contrib/win32/mercurial.iss Tue Mar 05 04:34:45 2019 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-#ifndef VERSION
-#define FileHandle
-#define FileLine
-#define VERSION = "unknown"
-#if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py")
- #expr FileLine = FileRead(FileHandle)
- #expr FileLine = FileRead(FileHandle)
- #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
-#endif
-#if FileHandle
- #expr FileClose(FileHandle)
-#endif
-#pragma message "Detected Version: " + VERSION
-#endif
-
-#ifndef ARCH
-#define ARCH = "x86"
-#endif
-
-[Setup]
-AppCopyright=Copyright 2005-2019 Matt Mackall and others
-AppName=Mercurial
-AppVersion={#VERSION}
-#if ARCH == "x64"
-AppVerName=Mercurial {#VERSION} (64-bit)
-OutputBaseFilename=Mercurial-{#VERSION}-x64
-ArchitecturesAllowed=x64
-ArchitecturesInstallIn64BitMode=x64
-#else
-AppVerName=Mercurial {#VERSION}
-OutputBaseFilename=Mercurial-{#VERSION}
-#endif
-InfoAfterFile=contrib/win32/postinstall.txt
-LicenseFile=COPYING
-ShowLanguageDialog=yes
-AppPublisher=Matt Mackall and others
-AppPublisherURL=https://mercurial-scm.org/
-AppSupportURL=https://mercurial-scm.org/
-AppUpdatesURL=https://mercurial-scm.org/
-AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
-AppContact=mercurial@mercurial-scm.org
-DefaultDirName={pf}\Mercurial
-SourceDir=..\..
-VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
-VersionInfoCopyright=Copyright 2005-2019 Matt Mackall and others
-VersionInfoCompany=Matt Mackall and others
-InternalCompressLevel=max
-SolidCompression=true
-SetupIconFile=contrib\win32\mercurial.ico
-AllowNoIcons=true
-DefaultGroupName=Mercurial
-PrivilegesRequired=none
-
-[Files]
-Source: contrib\mercurial.el; DestDir: {app}/Contrib
-Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
-Source: contrib\zsh_completion; DestDir: {app}/Contrib
-Source: contrib\bash_completion; DestDir: {app}/Contrib
-Source: contrib\tcsh_completion; DestDir: {app}/Contrib
-Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
-Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
-Source: contrib\xml.rnc; DestDir: {app}/Contrib
-Source: contrib\mercurial.el; DestDir: {app}/Contrib
-Source: contrib\mq.el; DestDir: {app}/Contrib
-Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib
-Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib
-Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
-Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
-Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
-#if ARCH == "x64"
-Source: dist\lib\*.dll; Destdir: {app}\lib
-Source: dist\lib\*.pyd; Destdir: {app}\lib
-#else
-Source: dist\w9xpopen.exe; DestDir: {app}
-#endif
-Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
-Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
-Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
-Source: dist\lib\library.zip; DestDir: {app}\lib
-Source: dist\add_path.exe; DestDir: {app}
-Source: doc\*.html; DestDir: {app}\Docs
-Source: doc\style.css; DestDir: {app}\Docs
-Source: mercurial\help\*.txt; DestDir: {app}\help
-Source: mercurial\help\internals\*.txt; DestDir: {app}\help\internals
-Source: mercurial\default.d\*.rc; DestDir: {app}\default.d
-Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
-Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
-Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
-Source: COPYING; DestDir: {app}; DestName: Copying.txt
-
-[INI]
-Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: https://mercurial-scm.org/
-Filename: {app}\default.d\editor.rc; Section: ui; Key: editor; String: notepad
-
-[UninstallDelete]
-Type: files; Name: {app}\Mercurial.url
-Type: filesandordirs; Name: {app}\default.d
-Type: files; Name: "{app}\hg.exe.local"
-
-[Icons]
-Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
-Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
-Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
-Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
-Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
-
-[Run]
-Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
-
-[UninstallRun]
-Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
-
-[Code]
-procedure Touch(fn: String);
-begin
- SaveStringToFile(ExpandConstant(fn), '', False);
-end;
--- a/contrib/win32/win32-build.txt Tue Mar 05 04:34:45 2019 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-The standalone Windows installer for Mercurial is built in a somewhat
-jury-rigged fashion.
-
-It has the following prerequisites. Ensure to take the packages
-matching the mercurial version you want to build (32-bit or 64-bit).
-
- Python 2.6 for Windows
- http://www.python.org/download/releases/
-
- A compiler:
- either MinGW
- http://www.mingw.org/
- or Microsoft Visual C++ 2008 SP1 Express Edition
- http://www.microsoft.com/express/Downloads/Download-2008.aspx
-
- Python for Windows Extensions
- http://sourceforge.net/projects/pywin32/
-
- mfc71.dll (just download, don't install; not needed for Python 2.6)
- http://starship.python.net/crew/mhammond/win32/
-
- Visual C++ 2008 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
- for 32-bit:
- http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
- for 64-bit:
- http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6
-
- The py2exe distutils extension
- http://sourceforge.net/projects/py2exe/
-
- GnuWin32 gettext utility (if you want to build translations)
- http://gnuwin32.sourceforge.net/packages/gettext.htm
-
- Inno Setup
- http://www.jrsoftware.org/isdl.php#qsp
-
- Get and install ispack-5.3.10.exe or later (includes Inno Setup Processor),
- which is necessary to package Mercurial.
-
- ISTool - optional
- http://www.istool.org/default.aspx/
-
- add_path (you need only add_path.exe in the zip file)
- http://www.barisione.org/apps.html#add_path
-
- Docutils
- http://docutils.sourceforge.net/
-
- CA Certs file
- http://curl.haxx.se/ca/cacert.pem
-
-And, of course, Mercurial itself.
-
-Once you have all this installed and built, clone a copy of the
-Mercurial repository you want to package, and name the repo
-C:\hg\hg-release.
-
-In a shell, build a standalone copy of the hg.exe program.
-
-Building instructions for MinGW:
- python setup.py build -c mingw32
- python setup.py py2exe -b 2
-Note: the previously suggested combined command of "python setup.py build -c
-mingw32 py2exe -b 2" doesn't work correctly anymore as it doesn't include the
-extensions in the mercurial subdirectory.
-If you want to create a file named setup.cfg with the contents:
-[build]
-compiler=mingw32
-you can skip the first build step.
-
-Building instructions with MSVC 2008 Express Edition:
- for 32-bit:
- "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
- python setup.py py2exe -b 2
- for 64-bit:
- "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
- python setup.py py2exe -b 3
-
-Copy add_path.exe and cacert.pem files into the dist directory that just got created.
-
-If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
-mercurial, you must include the C runtime libraries in the installer. To do so,
-install the Visual C++ 2008 redistributable package. Then in your windows\winsxs
-folder, locate the folder containing the dlls version 9.0.21022.8.
-For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
-For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
-Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
-directory.
-Then in the windows\winsxs\manifests folder, locate the corresponding manifest
-file (x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x86,
-amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x64), copy it in the
-dist directory and rename it to Microsoft.VC90.CRT.manifest.
-
-Before building the installer, you have to build Mercurial HTML documentation
-(or fix mercurial.iss to not reference the doc directory):
-
- cd doc
- mingw32-make html
- cd ..
-
-If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
-file and type Ctrl-F9 to compile the installer file.
-
-Otherwise you run the Inno Setup compiler. Assuming it's in the path
-you should execute:
-
- iscc contrib\win32\mercurial.iss /dVERSION=foo
-
-Where 'foo' is the version number you would like to see in the
-'Add/Remove Applications' tool. The installer will be placed into
-a directory named Output/ at the root of your repository.
-If the /dVERSION=foo parameter is not given in the command line, the
-installer will retrieve the version information from the __version__.py file.
-
-If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
-your command line:
- iscc contrib\win32\mercurial.iss /dARCH=x64
-
-To automate the steps above you may want to create a batchfile based on the
-following (MinGW build chain):
-
- echo [build] > setup.cfg
- echo compiler=mingw32 >> setup.cfg
- python setup.py py2exe -b 2
- cd doc
- mingw32-make html
- cd ..
- iscc contrib\win32\mercurial.iss /dVERSION=snapshot
-
-and run it from the root of the hg repository (c:\hg\hg-release).
--- a/contrib/wix/README.txt Tue Mar 05 04:34:45 2019 +0530
+++ b/contrib/wix/README.txt Sun Mar 03 18:22:49 2019 -0800
@@ -10,9 +10,7 @@
the only sane way to keep the source tree and the installer in sync.
The MSI installer builder uses only the mercurial.ini file from the
-contrib/win32 folder, the contents of which have been historically used
-to create an InnoSetup based installer. The rest of the files there are
-ignored.
+contrib/win32 folder.
The MSI packages built by thg-winbuild require elevated (admin)
privileges to be installed due to the installation of MSVC CRT libraries