Update infinstaller

This commit is contained in:
Mario Fetka 2019-09-24 18:15:11 +02:00
parent c793372a5f
commit 4ff1d3fadb
3 changed files with 515 additions and 440 deletions

View File

@ -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<EFBFBD> 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"

View File

@ -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 = "<p>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: <Updated>
; //
; // INF File Generation Script version: <Scriptversion>
; //
; //***************************************************************************
[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]
<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%"""
<AddProgramShortcuts>
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
<AddHelpShortcuts>
[SysinternalsSuite.Links.Remove]
setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%"""
setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"""
setup.ini, group1,,"""%SysinternalsSuiteURL%""
<RemoveProgramShortcuts>
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
<RemoveHelpShortcuts>
[Strings]
DisplayName = "Sysinternals Suite (Uninstall only)"
DisplayVersion = "<Updated>"
SysinternalsSuiteGroup = "Sysinternals Suite"
SysinternalsSuiteCmdPrompt = "Sysinternals Suite Command Prompt"
SysinternalsSuiteURL = "Sysinternals Suite Web Page"
<ProgramStrings>
SysinternalsSuiteDocs = "Documentation"
<HelpStrings>
UDHERE = "Software\Microsoft\Windows\CurrentVersion\Uninstall\SysinternalsSuite"
'@
# Hash table for graphical programs that should have a Start Menu shortcut
# Entries are "<executable name>" = "<start menu shortcut name>"
$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 "<help file name>" = "<start menu shortcut name>"
$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("<Updated>", $updatedDateString)}
$extractedFiles = Get-ChildItem "$($extractFolder)\*.*"
write-host " -- Update script version"
$infContent = $infContent | %{$_.replace("<Scriptversion>", $scriptVersion)}
write-host " -- Update file list"
[string] $fileList = ""
foreach ($file in $extractedFiles)
{
$fileList = $fileList + $file.Name + "`r`n"
}
$infContent = $infContent | %{$_.replace("<ProgramFiles>", $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>", $AddProgramShortcuts)}
$infContent = $infContent | %{$_.replace("<RemoveProgramShortcuts>", $RemoveProgramShortcuts)}
$infContent = $infContent | %{$_.replace("<ProgramStrings>", $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>", $AddHelpShortcuts)}
$infContent = $infContent | %{$_.replace("<RemoveHelpShortcuts>", $RemoveHelpShortcuts)}
$infContent = $infContent | %{$_.replace("<HelpStrings>", $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: <Updated>
; //
; // INF File Generation Script version: <Scriptversion>
; //
; //***************************************************************************
[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]
<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%"""
<AddProgramShortcuts>
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
<AddHelpShortcuts>
[SysinternalsSuite.Links.Remove]
setup.ini, progman.groups,,""group1="%16407%\%SysinternalsSuiteGroup%"""
setup.ini, group1,,"""%SysinternalsSuiteCmdPrompt%"""
setup.ini, group1,,"""%SysinternalsSuiteURL%""
<RemoveProgramShortcuts>
setup.ini, progman.groups,,""group2="%16407%\%SysinternalsSuiteGroup%\%SysinternalsSuiteDocs%\"""
<RemoveHelpShortcuts>
[Strings]
DisplayName = "Sysinternals Suite (Uninstall only)"
DisplayVersion = "<Updated>"
SysinternalsSuiteGroup = "Sysinternals Suite"
SysinternalsSuiteCmdPrompt = "Sysinternals Suite Command Prompt"
SysinternalsSuiteURL = "Sysinternals Suite Web Page"
<ProgramStrings>
SysinternalsSuiteDocs = "Documentation"
<HelpStrings>
UDHERE = "Software\Microsoft\Windows\CurrentVersion\Uninstall\SysinternalsSuite"
'@
# Hash table for graphical programs that should have a Start Menu shortcut
# Entries are "<executable name>" = "<start menu shortcut name>"
$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 "<help file name>" = "<start menu shortcut name>"
$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("<Updated>", $updatedDateString)}
$extractedFiles = Get-ChildItem "$($extractFolder)\*.*"
write-host " -- Update script version"
$infContent = $infContent | %{$_.replace("<Scriptversion>", $scriptVersion)}
write-host " -- Update file list"
[string] $fileList = ""
foreach ($file in $extractedFiles)
{
$fileList = $fileList + $file.Name + "`r`n"
}
$infContent = $infContent | %{$_.replace("<ProgramFiles>", $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>", $AddProgramShortcuts)}
$infContent = $infContent | %{$_.replace("<RemoveProgramShortcuts>", $RemoveProgramShortcuts)}
$infContent = $infContent | %{$_.replace("<ProgramStrings>", $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>", $AddHelpShortcuts)}
$infContent = $infContent | %{$_.replace("<RemoveHelpShortcuts>", $RemoveHelpShortcuts)}
$infContent = $infContent | %{$_.replace("<HelpStrings>", $HelpStrings)}
write-host " -- Saving file to disk"
$infContent | Set-Content "$($extractFolder)\Install_SysinternalsSuite.inf"
write-host ""

5
readme
View File

@ -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
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/