diff --git a/CLIENT_DATA/X86/Install_SysinternalsSuite.inf b/CLIENT_DATA/X86/Install_SysinternalsSuite.inf
index 100179f..54cc0f7 100644
--- a/CLIENT_DATA/X86/Install_SysinternalsSuite.inf
+++ b/CLIENT_DATA/X86/Install_SysinternalsSuite.inf
@@ -16,7 +16,7 @@
; # (ii) to include a valid copyright notice on Your software product in which
; # the Sample Code is embedded; and
; # (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and
-; # against any claims or lawsuits, including attorneys’ fees, that arise
+; # against any claims or lawsuits, including attorneys� fees, that arise
; # or result from the use or distribution of the Sample Code.
; #########################################################################################
; //***************************************************************************
@@ -30,7 +30,7 @@
; //
; // Purpose: Installs the Sysinternals Suite
; //
-; // Updated: October 26, 2015
+; // Updated: September 20, 2019
; //
; // INF File Generation Script version: 1.0.0
; //
@@ -76,6 +76,7 @@ Install_SysinternalsSuite.inf
[SysinternalsSuite.Files.ProgramFiles]
accesschk.exe
+accesschk64.exe
AccessEnum.exe
AdExplorer.chm
ADExplorer.exe
@@ -85,90 +86,140 @@ adrestore.exe
Autologon.exe
autoruns.chm
Autoruns.exe
+Autoruns64.dll
+Autoruns64.exe
autorunsc.exe
+autorunsc64.exe
Bginfo.exe
+Bginfo64.exe
Cacheset.exe
Clockres.exe
+Clockres64.exe
Contig.exe
+Contig64.exe
Coreinfo.exe
ctrl2cap.amd.sys
ctrl2cap.exe
ctrl2cap.nt4.sys
ctrl2cap.nt5.sys
-dbgview.chm
+Dbgview.chm
Dbgview.exe
Desktops.exe
Disk2vhd.chm
disk2vhd.exe
diskext.exe
+diskext64.exe
Diskmon.exe
DISKMON.HLP
DiskView.exe
DMON.SYS
du.exe
+du64.exe
efsdump.exe
Eula.txt
FindLinks.exe
+FindLinks64.exe
handle.exe
+handle64.exe
hex2dec.exe
+hex2dec64.exe
junction.exe
+junction64.exe
ldmdump.exe
Listdlls.exe
+Listdlls64.exe
livekd.exe
+livekd64.exe
LoadOrd.exe
+LoadOrd64.exe
+LoadOrdC.exe
+LoadOrdC64.exe
logonsessions.exe
+logonsessions64.exe
movefile.exe
+movefile64.exe
+notmyfault.exe
+notmyfault64.exe
+notmyfaultc.exe
+notmyfaultc64.exe
ntfsinfo.exe
+ntfsinfo64.exe
pagedfrg.exe
pagedfrg.hlp
pendmoves.exe
+pendmoves64.exe
pipelist.exe
+pipelist64.exe
PORTMON.CNT
portmon.exe
PORTMON.HLP
procdump.exe
+procdump64.exe
procexp.chm
procexp.exe
+procexp64.exe
procmon.chm
Procmon.exe
PsExec.exe
+PsExec64.exe
psfile.exe
+psfile64.exe
PsGetsid.exe
+PsGetsid64.exe
PsInfo.exe
+PsInfo64.exe
pskill.exe
+pskill64.exe
pslist.exe
+pslist64.exe
PsLoggedon.exe
+PsLoggedon64.exe
psloglist.exe
+psloglist64.exe
pspasswd.exe
+pspasswd64.exe
psping.exe
+psping64.exe
PsService.exe
+PsService64.exe
psshutdown.exe
pssuspend.exe
+pssuspend64.exe
Pstools.chm
psversion.txt
RAMMap.exe
readme.txt
RegDelNull.exe
+RegDelNull64.exe
regjump.exe
-RootkitRevealer.chm
-RootkitRevealer.exe
ru.exe
+ru64.exe
sdelete.exe
+sdelete64.exe
ShareEnum.exe
ShellRunas.exe
sigcheck.exe
+sigcheck64.exe
streams.exe
+streams64.exe
strings.exe
+strings64.exe
sync.exe
+sync64.exe
Sysmon.exe
+Sysmon64.exe
Tcpvcon.exe
tcpview.chm
Tcpview.exe
TCPVIEW.HLP
+Testlimit.exe
+Testlimit64.exe
Vmmap.chm
vmmap.exe
Volumeid.exe
+Volumeid64.exe
whois.exe
+whois64.exe
Winobj.exe
WINOBJ.HLP
ZoomIt.exe
@@ -189,40 +240,44 @@ HKLM,%UDHERE%
setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%\"""
setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"",""""""%11%\cmd.exe"""" /k cd /d """"%16422%\%SysinternalsSuiteGroup%"""""",,,,""%16422%\%SysinternalsSuiteGroup%"",""%SysinternalsSuiteCmdPrompt%"""
setup.ini, group1,,"""%SysinternalsSuiteURL%"",""""""%16422%\Internet Explorer\iexplore.exe"""" """"http://www.microsoft.com/technet/sysinternals/utilities/sysinternalssuite.mspx"""""",""%16422%\Internet Explorer\iexplore.exe"",1,,""%HOMEDRIVE%%HOMEPATH%"",""%SysinternalsSuiteURL%"""
-setup.ini, group1,,"""%DiskmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Diskmon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DiskmonDesc%"""
-setup.ini, group1,,"""%BginfoDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Bginfo.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%BginfoDesc%"""
-setup.ini, group1,,"""%ProcmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Procmon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ProcmonDesc%"""
-setup.ini, group1,,"""%ADInsightDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ADInsight.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ADInsightDesc%"""
-setup.ini, group1,,"""%VMMapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\VMMap.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%VMMapDesc%"""
-setup.ini, group1,,"""%AdExplorerDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\AdExplorer.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AdExplorerDesc%"""
-setup.ini, group1,,"""%ZoomItDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ZoomIt.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ZoomItDesc%"""
-setup.ini, group1,,"""%AutologonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autologon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AutologonDesc%"""
-setup.ini, group1,,"""%LoadOrdDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\LoadOrd.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%LoadOrdDesc%"""
-setup.ini, group1,,"""%WinobjDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Winobj.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%WinobjDesc%"""
-setup.ini, group1,,"""%procexpDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\procexp.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%procexpDesc%"""
+setup.ini, group1,,"""%ADExplorerDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ADExplorer.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ADExplorerDesc%"""
setup.ini, group1,,"""%TcpviewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Tcpview.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%TcpviewDesc%"""
-setup.ini, group1,,"""%DiskViewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\DiskView.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DiskViewDesc%"""
-setup.ini, group1,,"""%AutorunsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autoruns.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AutorunsDesc%"""
-setup.ini, group1,,"""%RamMapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\RamMap.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%RamMapDesc%"""
setup.ini, group1,,"""%DbgviewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Dbgview.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DbgviewDesc%"""
-setup.ini, group1,,"""%RootkitRevealerDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\RootkitRevealer.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%RootkitRevealerDesc%"""
+setup.ini, group1,,"""%RAMMapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\RAMMap.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%RAMMapDesc%"""
+setup.ini, group1,,"""%ProcmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Procmon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ProcmonDesc%"""
+setup.ini, group1,,"""%ZoomItDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ZoomIt.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ZoomItDesc%"""
+setup.ini, group1,,"""%Autoruns64Desc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autoruns64.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%Autoruns64Desc%"""
+setup.ini, group1,,"""%AutologonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autologon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AutologonDesc%"""
+setup.ini, group1,,"""%WinobjDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Winobj.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%WinobjDesc%"""
+setup.ini, group1,,"""%LoadOrd64Desc%"",""""""%16422%\%SysinternalsSuiteGroup%\LoadOrd64.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%LoadOrd64Desc%"""
setup.ini, group1,,"""%AccessEnumDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\AccessEnum.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AccessEnumDesc%"""
+setup.ini, group1,,"""%DiskViewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\DiskView.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DiskViewDesc%"""
+setup.ini, group1,,"""%CachesetDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Cacheset.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%CachesetDesc%"""
+setup.ini, group1,,"""%procexp64Desc%"",""""""%16422%\%SysinternalsSuiteGroup%\procexp64.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%procexp64Desc%"""
+setup.ini, group1,,"""%ADInsightDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ADInsight.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ADInsightDesc%"""
+setup.ini, group1,,"""%DiskmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Diskmon.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DiskmonDesc%"""
+setup.ini, group1,,"""%AutorunsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autoruns.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%AutorunsDesc%"""
+setup.ini, group1,,"""%Bginfo64Desc%"",""""""%16422%\%SysinternalsSuiteGroup%\Bginfo64.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%Bginfo64Desc%"""
+setup.ini, group1,,"""%BginfoDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Bginfo.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%BginfoDesc%"""
+setup.ini, group1,,"""%LoadOrdDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\LoadOrd.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%LoadOrdDesc%"""
+setup.ini, group1,,"""%vmmapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\vmmap.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%vmmapDesc%"""
+setup.ini, group1,,"""%ShareEnumDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ShareEnum.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%ShareEnumDesc%"""
+setup.ini, group1,,"""%DesktopsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Desktops.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%DesktopsDesc%"""
+setup.ini, group1,,"""%procexpDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\procexp.exe"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""%procexpDesc%"""
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
-setup.ini, group2,,"""%ProcexpDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Procexp.chm"""""""
-setup.ini, group2,,"""%AutorunsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Autoruns.chm"""""""
-setup.ini, group2,,"""%RootkitRevealerDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\RootkitRevealer.chm"""""""
-setup.ini, group2,,"""%Disk2vhdDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Disk2vhd.chm"""""""
-setup.ini, group2,,"""%WinobjDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Winobj.hlp"""""""
-setup.ini, group2,,"""%procmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\procmon.chm"""""""
-setup.ini, group2,,"""%ADInsightDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ADInsight.chm"""""""
-setup.ini, group2,,"""%TcpviewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Tcpview.chm"""""""
-setup.ini, group2,,"""%DiskmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Diskmon.hlp"""""""
-setup.ini, group2,,"""%VMMapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\VMMap.chm"""""""
+setup.ini, group2,,"""%VmmapDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Vmmap.chm"""""""
setup.ini, group2,,"""%AdExplorerDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\AdExplorer.chm"""""""
setup.ini, group2,,"""%DbgviewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Dbgview.chm"""""""
-setup.ini, group2,,"""%PsToolsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\PsTools.chm"""""""
+setup.ini, group2,,"""%tcpviewDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\tcpview.chm"""""""
+setup.ini, group2,,"""%Disk2vhdDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Disk2vhd.chm"""""""
+setup.ini, group2,,"""%PstoolsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\Pstools.chm"""""""
+setup.ini, group2,,"""%procexpDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\procexp.chm"""""""
+setup.ini, group2,,"""%autorunsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\autoruns.chm"""""""
+setup.ini, group2,,"""%pagedfrgDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\pagedfrg.hlp"""""""
+setup.ini, group2,,"""%ADInsightDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\ADInsight.chm"""""""
+setup.ini, group2,,"""%procmonDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\procmon.chm"""""""
@@ -230,84 +285,92 @@ setup.ini, group2,,"""%PsToolsDesc%"",""""""%16422%\%SysinternalsSuiteGroup%\PsT
setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%"""
setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"""
setup.ini, group1,,"""%SysinternalsSuiteURL%""
-setup.ini, group1,,"""%DiskmonDesc%""
-setup.ini, group1,,"""%BginfoDesc%""
-setup.ini, group1,,"""%ProcmonDesc%""
-setup.ini, group1,,"""%ADInsightDesc%""
-setup.ini, group1,,"""%VMMapDesc%""
-setup.ini, group1,,"""%AdExplorerDesc%""
-setup.ini, group1,,"""%ZoomItDesc%""
-setup.ini, group1,,"""%AutologonDesc%""
-setup.ini, group1,,"""%LoadOrdDesc%""
-setup.ini, group1,,"""%WinobjDesc%""
-setup.ini, group1,,"""%procexpDesc%""
+setup.ini, group1,,"""%ADExplorerDesc%""
setup.ini, group1,,"""%TcpviewDesc%""
-setup.ini, group1,,"""%DiskViewDesc%""
-setup.ini, group1,,"""%AutorunsDesc%""
-setup.ini, group1,,"""%RamMapDesc%""
setup.ini, group1,,"""%DbgviewDesc%""
-setup.ini, group1,,"""%RootkitRevealerDesc%""
+setup.ini, group1,,"""%RAMMapDesc%""
+setup.ini, group1,,"""%ProcmonDesc%""
+setup.ini, group1,,"""%ZoomItDesc%""
+setup.ini, group1,,"""%Autoruns64Desc%""
+setup.ini, group1,,"""%AutologonDesc%""
+setup.ini, group1,,"""%WinobjDesc%""
+setup.ini, group1,,"""%LoadOrd64Desc%""
setup.ini, group1,,"""%AccessEnumDesc%""
+setup.ini, group1,,"""%DiskViewDesc%""
+setup.ini, group1,,"""%CachesetDesc%""
+setup.ini, group1,,"""%procexp64Desc%""
+setup.ini, group1,,"""%ADInsightDesc%""
+setup.ini, group1,,"""%DiskmonDesc%""
+setup.ini, group1,,"""%AutorunsDesc%""
+setup.ini, group1,,"""%Bginfo64Desc%""
+setup.ini, group1,,"""%BginfoDesc%""
+setup.ini, group1,,"""%LoadOrdDesc%""
+setup.ini, group1,,"""%vmmapDesc%""
+setup.ini, group1,,"""%ShareEnumDesc%""
+setup.ini, group1,,"""%DesktopsDesc%""
+setup.ini, group1,,"""%procexpDesc%""
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
-setup.ini, group2,,"""%ProcexpDesc%""
-setup.ini, group2,,"""%AutorunsDesc%""
-setup.ini, group2,,"""%RootkitRevealerDesc%""
-setup.ini, group2,,"""%Disk2vhdDesc%""
-setup.ini, group2,,"""%WinobjDesc%""
-setup.ini, group2,,"""%procmonDesc%""
-setup.ini, group2,,"""%ADInsightDesc%""
-setup.ini, group2,,"""%TcpviewDesc%""
-setup.ini, group2,,"""%DiskmonDesc%""
-setup.ini, group2,,"""%VMMapDesc%""
+setup.ini, group2,,"""%VmmapDesc%""
setup.ini, group2,,"""%AdExplorerDesc%""
setup.ini, group2,,"""%DbgviewDesc%""
-setup.ini, group2,,"""%PsToolsDesc%""
+setup.ini, group2,,"""%tcpviewDesc%""
+setup.ini, group2,,"""%Disk2vhdDesc%""
+setup.ini, group2,,"""%PstoolsDesc%""
+setup.ini, group2,,"""%procexpDesc%""
+setup.ini, group2,,"""%autorunsDesc%""
+setup.ini, group2,,"""%pagedfrgDesc%""
+setup.ini, group2,,"""%ADInsightDesc%""
+setup.ini, group2,,"""%procmonDesc%""
[Strings]
DisplayName = "Sysinternals Suite (Uninstall only)"
-DisplayVersion = "October 26, 2015"
+DisplayVersion = "September 20, 2019"
SysinternalsSuiteGroup = "Sysinternals Suite"
SysinternalsSuiteCmdPrompt = "Sysinternals Suite Command Prompt"
SysinternalsSuiteURL = "Sysinternals Suite Web Page"
-DiskmonDesc = "DiskMon for Windows"
-BginfoDesc = "Bginfo"
-ProcmonDesc = "Process Monitor"
-ADInsightDesc = "Insight for Active Directory"
-VMMapDesc = "VMMap"
-AdExplorerDesc = "Active Directory Explorer"
-ZoomItDesc = "ZoomIt"
-AutologonDesc = "Autologon for Windows"
-LoadOrdDesc = "LoadOrder"
-WinobjDesc = "WinObj"
-procexpDesc = "Process Explorer"
+ADExplorerDesc = "Active Directory Explorer"
TcpviewDesc = "TCPView for Windows"
-DiskViewDesc = "DiskView"
-AutorunsDesc = "AutoRuns for Windows"
-RamMapDesc = "RamMap"
DbgviewDesc = "DebugView for Windows"
-RootkitRevealerDesc = "RootkitRevealer"
+RAMMapDesc = "RamMap"
+ProcmonDesc = "Process Monitor"
+ZoomItDesc = "ZoomIt"
+Autoruns64Desc = "AutoRuns for Windows (64bit)"
+AutologonDesc = "Autologon for Windows"
+WinobjDesc = "WinObj"
+LoadOrd64Desc = "LoadOrder (64bit)"
AccessEnumDesc = "AccessEnum"
+DiskViewDesc = "DiskView"
+CachesetDesc = "Cacheset"
+procexp64Desc = "Process Explorer (64bit)"
+ADInsightDesc = "Insight for Active Directory"
+DiskmonDesc = "DiskMon for Windows"
+AutorunsDesc = "AutoRuns for Windows"
+Bginfo64Desc = "Bginfo (64bit)"
+BginfoDesc = "Bginfo"
+LoadOrdDesc = "LoadOrder"
+vmmapDesc = "VMMap"
+ShareEnumDesc = "ShareEnum"
+DesktopsDesc = "Desktops for Windows"
+procexpDesc = "Process Explorer"
SysinternalsSuiteDocs = "Documentation"
-ProcexpDesc = "Process Explorer Help"
-AutorunsDesc = "AutoRuns for Windows Help"
-RootkitRevealerDesc = "RootkitRevealer Help"
-Disk2vhdDesc = "Disk2vhd Help"
-WinobjDesc = "WinObj Help"
-procmonDesc = "Process Monitor Help"
-ADInsightDesc = "Insight for Active Directory Help"
-TcpviewDesc = "TCPView for Windows Help"
-DiskmonDesc = "DiskMon for Windows Help"
-VMMapDesc = "VMMap Help"
+VmmapDesc = "VMMap Help"
AdExplorerDesc = "Active Directory Explorer Help"
DbgviewDesc = "DebugView for Windows Help"
-PsToolsDesc = "PsTools Help"
+tcpviewDesc = "TCPView for Windows Help"
+Disk2vhdDesc = "Disk2vhd Help"
+PstoolsDesc = "PsTools Help"
+procexpDesc = "Process Explorer Help"
+autorunsDesc = "AutoRuns for Windows Help"
+pagedfrgDesc = "PageDefrag for Windows Help"
+ADInsightDesc = "Insight for Active Directory Help"
+procmonDesc = "Process Monitor Help"
UDHERE = "Software\Microsoft\Windows\CurrentVersion\Uninstall\SysinternalsSuite"
diff --git a/New-SysinternalsSuiteInstaller.ps1 b/New-SysinternalsSuiteInstaller.ps1
index abed48b..f72fd36 100644
--- a/New-SysinternalsSuiteInstaller.ps1
+++ b/New-SysinternalsSuiteInstaller.ps1
@@ -1,355 +1,364 @@
-#########################################################################################
-# MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE
-#########################################################################################
-# This Sample Code is provided for the purpose of illustration only and is not
-# intended to be used in a production environment.
-#
-# THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY
-# OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
-#
-# We grant You a nonexclusive, royalty-free right to use and modify the Sample Code
-# and to reproduce and distribute the object code form of the Sample Code, provided
-# that You agree:
-# (i) to not use Our name, logo, or trademarks to market Your software product
-# in which the Sample Code is embedded;
-# (ii) to include a valid copyright notice on Your software product in which
-# the Sample Code is embedded; and
-# (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and
-# against any claims or lawsuits, including attorneys’ fees, that arise
-# or result from the use or distribution of the Sample Code.
-#########################################################################################
-# //***************************************************************************
-# // ===============================
-# // Elevation PowerToys for Windows
-# // ===============================
-# //
-# // Sysinternals Suite INF Installer Creation Script
-# //
-# // File: New-SysinternalsSuiteInstaller.ps1
-# //
-# // Purpose: PowerShell Script to generate an INF file that installs the
-# // Sysinternals Suite.
-# //
-# // Version: 1.0.0
-# //
-# // Revisions:
-# // ----------
-# // 1.0.0 10/27/2010 Created script.
-# //
-# //***************************************************************************
-
-$scriptVersion = "1.0.0"
-
-
-function Extract-Zip
-{
- param([string]$zipfilename, [string] $destination)
-
- if(test-path($zipfilename))
- {
- $shellApplication = new-object -com shell.application
- $zipPackage = $shellApplication.NameSpace($zipfilename)
- $destinationFolder = $shellApplication.NameSpace($destination)
- $destinationFolder.CopyHere($zipPackage.Items())
- }
-}
-
-
-$invocation = (Get-Variable MyInvocation -Scope 0).Value
-$scriptPath = Split-Path $Invocation.MyCommand.Path
-
-$uriZipFile = "https://download.sysinternals.com/files/SysinternalsSuite.zip"
-$uriWebPage = "http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx"
-$regexPattern = "
Updated: (.+?)<\/p>"
-$userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"
-
-
-# Template content of INF file
-$infContent = @'
-; #########################################################################################
-; # MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE
-; #########################################################################################
-; # This Sample Code is provided for the purpose of illustration only and is not
-; # intended to be used in a production environment.
-; #
-; # THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY
-; # OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
-; # WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
-; #
-; # We grant You a nonexclusive, royalty-free right to use and modify the Sample Code
-; # and to reproduce and distribute the object code form of the Sample Code, provided
-; # that You agree:
-; # (i) to not use Our name, logo, or trademarks to market Your software product
-; # in which the Sample Code is embedded;
-; # (ii) to include a valid copyright notice on Your software product in which
-; # the Sample Code is embedded; and
-; # (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and
-; # against any claims or lawsuits, including attorneys’ fees, that arise
-; # or result from the use or distribution of the Sample Code.
-; #########################################################################################
-; //***************************************************************************
-; // ===============================
-; // Elevation PowerToys for Windows
-; // ===============================
-; //
-; // Sysinternals Suite INF Installer
-; //
-; // File: Install_SysinternalsSuite.inf
-; //
-; // Purpose: Installs the Sysinternals Suite
-; //
-; // Updated:
-; //
-; // INF File Generation Script version:
-; //
-; //***************************************************************************
-
-
-[Version]
-Signature="$Windows NT$"
-
-[SysinternalsSuiteInstall]
-CopyFiles = SysinternalsSuite.Files.Inf
-CopyFiles = SysinternalsSuite.Files.ProgramFiles
-AddReg = SysinternalsSuite.AddReg
-UpdateInis = SysinternalsSuite.Links
-
-[DefaultInstall]
-CopyFiles = SysinternalsSuite.Files.Inf
-CopyFiles = SysinternalsSuite.Files.ProgramFiles
-AddReg = SysinternalsSuite.AddReg
-UpdateInis = SysinternalsSuite.Links
-
-
-[DefaultUnInstall]
-DelFiles = SysinternalsSuite.Files.Inf
-DelFiles = SysinternalsSuite.Files.ProgramFiles
-DelReg = SysinternalsSuite.DelReg
-AddReg = SysinternalsSuite.Once.UnInst.Reg
-UpdateInis = SysinternalsSuite.Links.Remove
-
-[SourceDisksNames]
-55="Windows Sysinternals Suite","",1
-
-[SourceDisksFiles]
-Install_SysinternalsSuite.inf=55
-
-[DestinationDirs]
-SysinternalsSuite.Files.Inf = 17
-SysinternalsSuite.Files.ProgramFiles = 16422,Sysinternals Suite
-SysinternalsSuite.Files.ProgramFiles.ShellRunas = 16422,Sysinternals Suite
-
-[SysinternalsSuite.Files.Inf]
-Install_SysinternalsSuite.inf
-
-[SysinternalsSuite.Files.ProgramFiles]
-
-
-[SysinternalsSuite.Once.UnInst.Reg]
-HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,SysinternalsSuite,,"%11%\cmd.exe /c rd /s /q ""%16422%\Sysinternals Suite"""
-
-[SysinternalsSuite.AddReg]
-HKLM,%UDHERE%,DisplayName,,"%DisplayName%"
-HKLM,%UDHERE%,DisplayVersion,,"%DisplayVersion%"
-HKLM,%UDHERE%,UninstallString,,"rundll32.exe syssetup.dll,SetupInfObjectInstallAction DefaultUninstall 132 %17%\Install_SysinternalsSuite.inf"
-
-[SysinternalsSuite.DelReg]
-HKLM,%UDHERE%
-
-[SysinternalsSuite.Links]
-setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%\"""
-setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"",""""""%11%\cmd.exe"""" /k cd /d """"%16422%\%SysinternalsSuiteGroup%"""""",,,,""%16422%\%SysinternalsSuiteGroup%"",""%SysinternalsSuiteCmdPrompt%"""
-setup.ini, group1,,"""%SysinternalsSuiteURL%"",""""""%16422%\Internet Explorer\iexplore.exe"""" """"http://www.microsoft.com/technet/sysinternals/utilities/sysinternalssuite.mspx"""""",""%16422%\Internet Explorer\iexplore.exe"",1,,""%HOMEDRIVE%%HOMEPATH%"",""%SysinternalsSuiteURL%"""
-
-
-setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
-
-
-
-[SysinternalsSuite.Links.Remove]
-setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%"""
-setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"""
-setup.ini, group1,,"""%SysinternalsSuiteURL%""
-
-
-setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
-
-
-
-[Strings]
-DisplayName = "Sysinternals Suite (Uninstall only)"
-DisplayVersion = ""
-
-SysinternalsSuiteGroup = "Sysinternals Suite"
-SysinternalsSuiteCmdPrompt = "Sysinternals Suite Command Prompt"
-SysinternalsSuiteURL = "Sysinternals Suite Web Page"
-
-
-SysinternalsSuiteDocs = "Documentation"
-
-
-UDHERE = "Software\Microsoft\Windows\CurrentVersion\Uninstall\SysinternalsSuite"
-'@
-
-
-# Hash table for graphical programs that should have a Start Menu shortcut
-# Entries are "" = ""
-$hashStartMenuPrograms = @{
- "AccessEnum.exe" = "AccessEnum";
- "AdExplorer.exe" = "Active Directory Explorer";
- "Autologon.exe" = "Autologon for Windows";
- "ADInsight.exe" = "Insight for Active Directory";
- "Autoruns.exe" = "AutoRuns for Windows";
- "Bginfo.exe" = "Bginfo";
- "Dbgview.exe" = "DebugView for Windows";
- "Diskmon.exe" = "DiskMon for Windows";
- "DiskView.exe" = "DiskView";
- "LoadOrd.exe" = "LoadOrder";
- "procexp.exe" = "Process Explorer";
- "Procmon.exe" = "Process Monitor";
- "RamMap.exe" = "RamMap";
- "RootkitRevealer.exe" = "RootkitRevealer";
- "Tcpview.exe" = "TCPView for Windows";
- "VMMap.exe" = "VMMap";
- "Winobj.exe" = "WinObj";
- "ZoomIt.exe" = "ZoomIt"
-}
-
-# Hash table for help files that should have a Start Menu shortcut
-# Entries are "" = ""
-$hashStartMenuHelp = @{
- "PsTools.chm" = "PsTools Help";
- "AdExplorer.chm" = "Active Directory Explorer Help";
- "ADInsight.chm" = "Insight for Active Directory Help";
- "Autoruns.chm" = "AutoRuns for Windows Help";
- "Dbgview.chm" = "DebugView for Windows Help";
- "Disk2vhd.chm" = "Disk2vhd Help";
- "Diskmon.hlp" = "DiskMon for Windows Help";
- "Procexp.chm" = "Process Explorer Help";
- "procmon.chm" = "Process Monitor Help";
- "RootkitRevealer.chm" = "RootkitRevealer Help";
- "Tcpview.chm" = "TCPView for Windows Help";
- "VMMap.chm" = "VMMap Help";
- "Winobj.hlp" = "WinObj Help";
-}
-
-$wc = new-object System.Net.WebClient
-$wc.Headers.Add("user-agent", $userAgent)
-
-write-host "Downloading web page `"$($uriWebPage)`""
-$webPage = $wc.DownloadString($uriWebPage)
-
-$updatedDateString = (select-string -pattern $regexPattern -InputObject $webPage | Select -Expand Matches | Foreach { $_.Groups[1] }).Value
-write-host "Suite Updated: $($updatedDateString)"
-
-$downloadFolder = "$($scriptPath)\$($updatedDateString)"
-$extractFolder = "$($downloadFolder)\Extracted"
-$filename = "$($downloadFolder)\SysinternalsSuite.zip"
-
-if ((Test-Path $downloadFolder) -eq $false)
-{
- write-host "Creating download folder `"$($downloadFolder)`""
- New-Item -path "$($scriptPath)\" -name $updatedDateString -type directory > $null
-}
-
-if ((Test-Path $extractFolder) -eq $false)
-{
- write-host "Creating zip extraction folder `"$($extractFolder)`""
- New-Item -path "$($downloadFolder)\" -name "Extracted" -type directory > $null
-}
-else
-{
- write-host "Deleting and recreating zip extraction folder `"$($extractFolder)`""
- Remove-Item -path $extractFolder -recurse
- New-Item -path "$($downloadFolder)\" -name "Extracted" -type directory > $null
-}
-
-write-host "Downloading Sysinternal Suite Zip file `"$($uriZipFile)`""
-$wc.DownloadFile($uriZipFile, $filename)
-
-write-host "Extracting Sysinternal Suite Zip file content"
-extract-zip $filename $extractFolder
-
-write-host "Creating INF installer `"$($extractFolder)\Install_SysinternalsSuite.inf`""
-$infContent = $infContent | %{$_.replace("", $updatedDateString)}
-
-$extractedFiles = Get-ChildItem "$($extractFolder)\*.*"
-
-write-host " -- Update script version"
-$infContent = $infContent | %{$_.replace("", $scriptVersion)}
-
-write-host " -- Update file list"
-[string] $fileList = ""
-foreach ($file in $extractedFiles)
-{
- $fileList = $fileList + $file.Name + "`r`n"
-}
-$infContent = $infContent | %{$_.replace("", $fileList)}
-
-
-write-host " -- Update entries related to program shortcuts"
-[string] $AddProgramShortcuts = ""
-[string] $RemoveProgramShortcuts = ""
-[string] $ProgramStrings = ""
-foreach ($programName in $hashStartMenuPrograms.Keys)
-{
- if (Test-Path "$($extractFolder)\$($programName)")
- {
- [string]$fileExt = (Get-Item "$($extractFolder)\$($programName)").extension
- [string]$fileBaseName = $programName -replace($fileExt ,"")
-
- $AddLine = 'setup.ini, group1,,"""' + "%$($fileBaseName)Desc%" + '"",""""""%16422%\%SysinternalsSuiteGroup%\' + $programName + '"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""' + "%$($fileBaseName)Desc%" + '"""'
- $AddProgramShortcuts = $AddProgramShortcuts + $AddLine + "`r`n"
-
- $RemoveLine = 'setup.ini, group1,,"""' + "%$($fileBaseName)Desc%" + '""'
- $RemoveProgramShortcuts = $RemoveProgramShortcuts + $RemoveLine + "`r`n"
-
- $StringsLine = "$($fileBaseName)Desc = " + '"' + "$($hashStartMenuPrograms[$programName])" + '"'
- $ProgramStrings = $ProgramStrings + $StringsLine + "`r`n"
- }
- else
- {
- write-host "$($programName) not found"
- }
-}
-$infContent = $infContent | %{$_.replace("", $AddProgramShortcuts)}
-$infContent = $infContent | %{$_.replace("", $RemoveProgramShortcuts)}
-$infContent = $infContent | %{$_.replace("", $ProgramStrings)}
-
-
-write-host " -- Update entries related to help file shortcuts"
-[string] $AddHelpShortcuts = ""
-[string] $RemoveHelpShortcuts = ""
-[string] $HelpStrings = ""
-foreach ($helpName in $hashStartMenuHelp.Keys)
-{
- if (Test-Path "$($extractFolder)\$($helpName)")
- {
- [string]$fileExt = (Get-Item "$($extractFolder)\$($helpName)").extension
- [string]$fileBaseName = $helpName -replace($fileExt ,"")
- #$fileBaseName
-
- $AddLine = 'setup.ini, group2,,"""' + "%$($fileBaseName)Desc%" + '"",""""""%16422%\%SysinternalsSuiteGroup%\' + $helpName + '"""""""'
- $AddHelpShortcuts = $AddHelpShortcuts + $AddLine + "`r`n"
-
- $RemoveLine = 'setup.ini, group2,,"""' + "%$($fileBaseName)Desc%" + '""'
- $RemoveHelpShortcuts = $RemoveHelpShortcuts + $RemoveLine + "`r`n"
-
- $StringsLine = "$($fileBaseName)Desc = " + '"' + "$($hashStartMenuHelp[$helpName])" + '"'
- $HelpStrings = $HelpStrings + $StringsLine + "`r`n"
- }
- else
- {
- write-host "$($helpName) not found"
- }
-}
-$infContent = $infContent | %{$_.replace("", $AddHelpShortcuts)}
-$infContent = $infContent | %{$_.replace("", $RemoveHelpShortcuts)}
-$infContent = $infContent | %{$_.replace("", $HelpStrings)}
-
-write-host " -- Saving file to disk"
-$infContent | Set-Content "$($extractFolder)\Install_SysinternalsSuite.inf"
-
-write-host ""
-
+#########################################################################################
+# MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE
+#########################################################################################
+# This Sample Code is provided for the purpose of illustration only and is not
+# intended to be used in a production environment.
+#
+# THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY
+# OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
+#
+# We grant You a nonexclusive, royalty-free right to use and modify the Sample Code
+# and to reproduce and distribute the object code form of the Sample Code, provided
+# that You agree:
+# (i) to not use Our name, logo, or trademarks to market Your software product
+# in which the Sample Code is embedded;
+# (ii) to include a valid copyright notice on Your software product in which
+# the Sample Code is embedded; and
+# (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and
+# against any claims or lawsuits, including attorneys’ fees, that arise
+# or result from the use or distribution of the Sample Code.
+#########################################################################################
+# //***************************************************************************
+# // ===============================
+# // Elevation PowerToys for Windows
+# // ===============================
+# //
+# // Sysinternals Suite INF Installer Creation Script
+# //
+# // File: New-SysinternalsSuiteInstaller.ps1
+# //
+# // Purpose: PowerShell Script to generate an INF file that installs the
+# // Sysinternals Suite.
+# //
+# // Version: 1.0.0
+# //
+# // Revisions:
+# // ----------
+# // 1.0.0 10/27/2010 Created script.
+# //
+# //***************************************************************************
+
+$scriptVersion = "1.0.0"
+
+
+function Extract-Zip
+{
+ param([string]$zipfilename, [string] $destination)
+
+ if(test-path($zipfilename))
+ {
+ $shellApplication = new-object -com shell.application
+ $zipPackage = $shellApplication.NameSpace($zipfilename)
+ $destinationFolder = $shellApplication.NameSpace($destination)
+ $destinationFolder.CopyHere($zipPackage.Items())
+ }
+}
+
+
+$invocation = (Get-Variable MyInvocation -Scope 0).Value
+$scriptPath = Split-Path $Invocation.MyCommand.Path
+
+$uriZipFile = "https://download.sysinternals.com/files/SysinternalsSuite.zip"
+$uriWebPage = "http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx"
+$regexPattern = "Updated: (.+?)<\/p>"
+$userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"
+
+
+# Template content of INF file
+$infContent = @'
+; #########################################################################################
+; # MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE
+; #########################################################################################
+; # This Sample Code is provided for the purpose of illustration only and is not
+; # intended to be used in a production environment.
+; #
+; # THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY
+; # OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+; # WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
+; #
+; # We grant You a nonexclusive, royalty-free right to use and modify the Sample Code
+; # and to reproduce and distribute the object code form of the Sample Code, provided
+; # that You agree:
+; # (i) to not use Our name, logo, or trademarks to market Your software product
+; # in which the Sample Code is embedded;
+; # (ii) to include a valid copyright notice on Your software product in which
+; # the Sample Code is embedded; and
+; # (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and
+; # against any claims or lawsuits, including attorneys’ fees, that arise
+; # or result from the use or distribution of the Sample Code.
+; #########################################################################################
+; //***************************************************************************
+; // ===============================
+; // Elevation PowerToys for Windows
+; // ===============================
+; //
+; // Sysinternals Suite INF Installer
+; //
+; // File: Install_SysinternalsSuite.inf
+; //
+; // Purpose: Installs the Sysinternals Suite
+; //
+; // Updated:
+; //
+; // INF File Generation Script version:
+; //
+; //***************************************************************************
+
+
+[Version]
+Signature="$Windows NT$"
+
+[SysinternalsSuiteInstall]
+CopyFiles = SysinternalsSuite.Files.Inf
+CopyFiles = SysinternalsSuite.Files.ProgramFiles
+AddReg = SysinternalsSuite.AddReg
+UpdateInis = SysinternalsSuite.Links
+
+[DefaultInstall]
+CopyFiles = SysinternalsSuite.Files.Inf
+CopyFiles = SysinternalsSuite.Files.ProgramFiles
+AddReg = SysinternalsSuite.AddReg
+UpdateInis = SysinternalsSuite.Links
+
+
+[DefaultUnInstall]
+DelFiles = SysinternalsSuite.Files.Inf
+DelFiles = SysinternalsSuite.Files.ProgramFiles
+DelReg = SysinternalsSuite.DelReg
+AddReg = SysinternalsSuite.Once.UnInst.Reg
+UpdateInis = SysinternalsSuite.Links.Remove
+
+[SourceDisksNames]
+55="Windows Sysinternals Suite","",1
+
+[SourceDisksFiles]
+Install_SysinternalsSuite.inf=55
+
+[DestinationDirs]
+SysinternalsSuite.Files.Inf = 17
+SysinternalsSuite.Files.ProgramFiles = 16422,Sysinternals Suite
+SysinternalsSuite.Files.ProgramFiles.ShellRunas = 16422,Sysinternals Suite
+
+[SysinternalsSuite.Files.Inf]
+Install_SysinternalsSuite.inf
+
+[SysinternalsSuite.Files.ProgramFiles]
+
+
+[SysinternalsSuite.Once.UnInst.Reg]
+HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,SysinternalsSuite,,"%11%\cmd.exe /c rd /s /q ""%16422%\Sysinternals Suite"""
+
+[SysinternalsSuite.AddReg]
+HKLM,%UDHERE%,DisplayName,,"%DisplayName%"
+HKLM,%UDHERE%,DisplayVersion,,"%DisplayVersion%"
+HKLM,%UDHERE%,UninstallString,,"rundll32.exe syssetup.dll,SetupInfObjectInstallAction DefaultUninstall 132 %17%\Install_SysinternalsSuite.inf"
+
+[SysinternalsSuite.DelReg]
+HKLM,%UDHERE%
+
+[SysinternalsSuite.Links]
+setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%\"""
+setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"",""""""%11%\cmd.exe"""" /k cd /d """"%16422%\%SysinternalsSuiteGroup%"""""",,,,""%16422%\%SysinternalsSuiteGroup%"",""%SysinternalsSuiteCmdPrompt%"""
+setup.ini, group1,,"""%SysinternalsSuiteURL%"",""""""%16422%\Internet Explorer\iexplore.exe"""" """"http://www.microsoft.com/technet/sysinternals/utilities/sysinternalssuite.mspx"""""",""%16422%\Internet Explorer\iexplore.exe"",1,,""%HOMEDRIVE%%HOMEPATH%"",""%SysinternalsSuiteURL%"""
+
+
+setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
+
+
+
+[SysinternalsSuite.Links.Remove]
+setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%"""
+setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"""
+setup.ini, group1,,"""%SysinternalsSuiteURL%""
+
+
+setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
+
+
+
+[Strings]
+DisplayName = "Sysinternals Suite (Uninstall only)"
+DisplayVersion = ""
+
+SysinternalsSuiteGroup = "Sysinternals Suite"
+SysinternalsSuiteCmdPrompt = "Sysinternals Suite Command Prompt"
+SysinternalsSuiteURL = "Sysinternals Suite Web Page"
+
+
+SysinternalsSuiteDocs = "Documentation"
+
+
+UDHERE = "Software\Microsoft\Windows\CurrentVersion\Uninstall\SysinternalsSuite"
+'@
+
+
+# Hash table for graphical programs that should have a Start Menu shortcut
+# Entries are "" = ""
+$hashStartMenuPrograms = @{
+ "AccessEnum.exe" = "AccessEnum";
+ "ADExplorer.exe" = "Active Directory Explorer";
+ "ADInsight.exe" = "Insight for Active Directory";
+ "Autologon.exe" = "Autologon for Windows";
+ "Autoruns64.exe" = "AutoRuns for Windows (64bit)";
+ "Autoruns.exe" = "AutoRuns for Windows";
+ "Bginfo64.exe" = "Bginfo (64bit)";
+ "Bginfo.exe" = "Bginfo";
+ "Cacheset.exe" = "Cacheset";
+ "Dbgview.exe" = "DebugView for Windows";
+ "Desktops.exe" = "Desktops for Windows";
+ "Diskmon.exe" = "DiskMon for Windows";
+ "DiskView.exe" = "DiskView";
+ "LoadOrd64.exe" = "LoadOrder (64bit)";
+ "LoadOrd.exe" = "LoadOrder";
+ "procexp64.exe" = "Process Explorer (64bit)";
+ "procexp.exe" = "Process Explorer";
+ "Procmon.exe" = "Process Monitor";
+ "RAMMap.exe" = "RamMap";
+ "ShareEnum.exe" = "ShareEnum";
+ "Tcpview.exe" = "TCPView for Windows";
+ "vmmap.exe" = "VMMap";
+ "Winobj.exe" = "WinObj";
+ "ZoomIt.exe" = "ZoomIt"
+}
+
+# Hash table for help files that should have a Start Menu shortcut
+# Entries are "" = ""
+$hashStartMenuHelp = @{
+ "AdExplorer.chm" = "Active Directory Explorer Help";
+ "ADInsight.chm" = "Insight for Active Directory Help";
+ "autoruns.chm" = "AutoRuns for Windows Help";
+ "Dbgview.chm" = "DebugView for Windows Help";
+ "Disk2vhd.chm" = "Disk2vhd Help";
+ "procexp.chm" = "Process Explorer Help";
+ "procmon.chm" = "Process Monitor Help";
+ "Pstools.chm" = "PsTools Help";
+ "tcpview.chm" = "TCPView for Windows Help";
+ "Vmmap.chm" = "VMMap Help";
+ "pagedfrg.hlp" = "PageDefrag for Windows Help";
+ "Diskmon.hlp" = "DiskMon for Windows Help";
+ "portmon.hlp" = "Port Monitor Help";
+ "tcpview.hlp" = "TCPView for Windows Help";
+ "Winobj.hlp" = "WinObj Help";
+}
+
+$wc = new-object System.Net.WebClient
+$wc.Headers.Add("user-agent", $userAgent)
+
+write-host "Downloading web page `"$($uriWebPage)`""
+$webPage = $wc.DownloadString($uriWebPage)
+
+$updatedDateString = (select-string -pattern $regexPattern -InputObject $webPage | Select -Expand Matches | Foreach { $_.Groups[1] }).Value
+write-host "Suite Updated: $($updatedDateString)"
+
+$downloadFolder = "$($scriptPath)/$($updatedDateString)"
+$extractFolder = "$($downloadFolder)/Extracted"
+$filename = "$($downloadFolder)/SysinternalsSuite.zip"
+
+if ((Test-Path $downloadFolder) -eq $false)
+{
+ write-host "Creating download folder `"$($downloadFolder)`""
+ New-Item -path "$($scriptPath)\" -name $updatedDateString -type directory > $null
+}
+
+if ((Test-Path $extractFolder) -eq $false)
+{
+ write-host "Creating zip extraction folder `"$($extractFolder)`""
+ New-Item -path "$($downloadFolder)\" -name "Extracted" -type directory > $null
+}
+else
+{
+ write-host "Deleting and recreating zip extraction folder `"$($extractFolder)`""
+ Remove-Item -path $extractFolder -recurse
+ New-Item -path "$($downloadFolder)\" -name "Extracted" -type directory > $null
+}
+
+write-host "Downloading Sysinternal Suite Zip file `"$($uriZipFile)`""
+$wc.DownloadFile($uriZipFile, $filename)
+
+write-host "Extracting Sysinternal Suite Zip file content"
+#extract-zip $filename $extractFolder
+Expand-Archive $filename -DestinationPath $extractFolder
+
+write-host "Creating INF installer `"$($extractFolder)\Install_SysinternalsSuite.inf`""
+$infContent = $infContent | %{$_.replace("", $updatedDateString)}
+
+$extractedFiles = Get-ChildItem "$($extractFolder)\*.*"
+
+write-host " -- Update script version"
+$infContent = $infContent | %{$_.replace("", $scriptVersion)}
+
+write-host " -- Update file list"
+[string] $fileList = ""
+foreach ($file in $extractedFiles)
+{
+ $fileList = $fileList + $file.Name + "`r`n"
+}
+$infContent = $infContent | %{$_.replace("", $fileList)}
+
+
+write-host " -- Update entries related to program shortcuts"
+[string] $AddProgramShortcuts = ""
+[string] $RemoveProgramShortcuts = ""
+[string] $ProgramStrings = ""
+foreach ($programName in $hashStartMenuPrograms.Keys)
+{
+ if (Test-Path "$($extractFolder)\$($programName)")
+ {
+ [string]$fileExt = (Get-Item "$($extractFolder)\$($programName)").extension
+ [string]$fileBaseName = $programName -replace($fileExt ,"")
+
+ $AddLine = 'setup.ini, group1,,"""' + "%$($fileBaseName)Desc%" + '"",""""""%16422%\%SysinternalsSuiteGroup%\' + $programName + '"""""",,,,""""%16422%\%SysinternalsSuiteGroup%"""",""' + "%$($fileBaseName)Desc%" + '"""'
+ $AddProgramShortcuts = $AddProgramShortcuts + $AddLine + "`r`n"
+
+ $RemoveLine = 'setup.ini, group1,,"""' + "%$($fileBaseName)Desc%" + '""'
+ $RemoveProgramShortcuts = $RemoveProgramShortcuts + $RemoveLine + "`r`n"
+
+ $StringsLine = "$($fileBaseName)Desc = " + '"' + "$($hashStartMenuPrograms[$programName])" + '"'
+ $ProgramStrings = $ProgramStrings + $StringsLine + "`r`n"
+ }
+ else
+ {
+ write-host "$($programName) not found"
+ }
+}
+$infContent = $infContent | %{$_.replace("", $AddProgramShortcuts)}
+$infContent = $infContent | %{$_.replace("", $RemoveProgramShortcuts)}
+$infContent = $infContent | %{$_.replace("", $ProgramStrings)}
+
+
+write-host " -- Update entries related to help file shortcuts"
+[string] $AddHelpShortcuts = ""
+[string] $RemoveHelpShortcuts = ""
+[string] $HelpStrings = ""
+foreach ($helpName in $hashStartMenuHelp.Keys)
+{
+ if (Test-Path "$($extractFolder)\$($helpName)")
+ {
+ [string]$fileExt = (Get-Item "$($extractFolder)\$($helpName)").extension
+ [string]$fileBaseName = $helpName -replace($fileExt ,"")
+ #$fileBaseName
+
+ $AddLine = 'setup.ini, group2,,"""' + "%$($fileBaseName)Desc%" + '"",""""""%16422%\%SysinternalsSuiteGroup%\' + $helpName + '"""""""'
+ $AddHelpShortcuts = $AddHelpShortcuts + $AddLine + "`r`n"
+
+ $RemoveLine = 'setup.ini, group2,,"""' + "%$($fileBaseName)Desc%" + '""'
+ $RemoveHelpShortcuts = $RemoveHelpShortcuts + $RemoveLine + "`r`n"
+
+ $StringsLine = "$($fileBaseName)Desc = " + '"' + "$($hashStartMenuHelp[$helpName])" + '"'
+ $HelpStrings = $HelpStrings + $StringsLine + "`r`n"
+ }
+ else
+ {
+ write-host "$($helpName) not found"
+ }
+}
+$infContent = $infContent | %{$_.replace("", $AddHelpShortcuts)}
+$infContent = $infContent | %{$_.replace("", $RemoveHelpShortcuts)}
+$infContent = $infContent | %{$_.replace("", $HelpStrings)}
+
+write-host " -- Saving file to disk"
+$infContent | Set-Content "$($extractFolder)\Install_SysinternalsSuite.inf"
+
+write-host ""
+
diff --git a/readme b/readme
index 3aaafde..7bb0d0d 100644
--- a/readme
+++ b/readme
@@ -1,4 +1,7 @@
Creating the Install_SysinternalsSuite.inf:
follow the howto:
-http://blogs.technet.com/b/elevationpowertoys/archive/2010/10/27/powershell-script-to-create-a-sysinternals-suite-inf-file-installer.aspx
\ No newline at end of file
+http://blogs.technet.com/b/elevationpowertoys/archive/2010/10/27/powershell-script-to-create-a-sysinternals-suite-inf-file-installer.aspx
+
+https://www.domador.net/extras/sysinternals-suite-installer/
+