From 295b39e488ef645d7fe11230f13dee1f0f5666e4 Mon Sep 17 00:00:00 2001 From: benc Date: Wed, 4 May 2016 10:54:53 +0100 Subject: [PATCH] Cleanup comments to pre-empt validator complaints --- iis-arr/iis-arr.nuspec | 9 +- iis-arr/tools/ReadMe.md | 91 ------------------ iis-arr/tools/chocolateyinstall.ps1 | 93 ++----------------- iis-arr/tools/chocolateyuninstall.ps1 | 38 +------- iis-externalcache/iis-externalcache.nuspec | 12 +-- iis-externalcache/tools/ReadMe.md | 91 ------------------ iis-externalcache/tools/chocolateyinstall.ps1 | 93 ++----------------- .../tools/chocolateyuninstall.ps1 | 38 +------- 8 files changed, 28 insertions(+), 437 deletions(-) delete mode 100755 iis-arr/tools/ReadMe.md delete mode 100755 iis-externalcache/tools/ReadMe.md diff --git a/iis-arr/iis-arr.nuspec b/iis-arr/iis-arr.nuspec index 9d4c3ee..01d6072 100755 --- a/iis-arr/iis-arr.nuspec +++ b/iis-arr/iis-arr.nuspec @@ -1,9 +1,7 @@  - - iis-arr iis-arr (Install) 3.0.20160107 @@ -13,11 +11,7 @@ Microsoft Application Request Routing for IIS is a proxy-based routing module that forwards HTTP requests to application servers based on HTTP headers and server variables, and load balance algorithms http://www.iis.net/downloads/microsoft/application-request-routing - + https://github.com/bcc/choco-packages iis-arr iis arr admin http://go.microsoft.com/?linkid=9835457 @@ -31,7 +25,6 @@ * 3.0.20151123 - first packaging of ARR 3.0 * 3.0.20160107 - version bump for updated UrlRewrite dependency - diff --git a/iis-arr/tools/ReadMe.md b/iis-arr/tools/ReadMe.md deleted file mode 100755 index e9d10ef..0000000 --- a/iis-arr/tools/ReadMe.md +++ /dev/null @@ -1,91 +0,0 @@ -## Summary -How do I create packages? See https://github.com/chocolatey/choco/wiki/CreatePackages - -If you are submitting packages to the community feed (https://chocolatey.org) -always try to ensure you have read, understood and adhere to the create -packages wiki link above. - -## Automatic Packages? -Consider making this package an automatic package, for the best -maintainability over time. Read up at https://github.com/chocolatey/choco/wiki/AutomaticPackages - -## Shim Generation -Any executables you include in the package or download (but don't call -install against using the built-in functions) will be automatically shimmed. - -This means those executables will automatically be included on the path. -Shim generation runs whether the package is self-contained or uses automation -scripts. - -By default, these are considered console applications. - -If the application is a GUI, you should create an empty file next to the exe -named 'name.exe.gui' e.g. 'bob.exe' would need a file named 'bob.exe.gui'. -See https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-set-up-batch-redirects-for-applications-that-have-a-gui - -If you want to ignore the executable, create an empty file next to the exe -named 'name.exe.ignore' e.g. 'bob.exe' would need a file named -'bob.exe.ignore'. -See https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-exclude-executables-from-getting-batch-redirects - -## Self-Contained? -If you have a self-contained package, you can remove the automation scripts -entirely and just include the executables, they will automatically get shimmed, -which puts them on the path. Ensure you have the legal right to distribute -the application though. See https://github.com/chocolatey/choco/wiki/Legal. - -You should read up on the Shim Generation section to familiarize yourself -on what to do with GUI applications and/or ignoring shims. - -## Automation Scripts -You have a powerful use of Chocolatey, as you are using PowerShell. So you -can do just about anything you need. Choco has some very handy built-in -functions that you can use, these are sometimes called the helpers. - -### Built-In Functions -https://github.com/chocolatey/choco/wiki/HelpersReference - -A note about a couple: -* Get-BinRoot - this is a horribly named function that doesn't do what new folks think it does. It gets you the 'tools' root, which by default is set to 'c:\tools', not the chocolateyInstall bin folder. -* Install-BinFile - used for non-exe files - executables are automatically shimmed... -* Uninstall-BinFile - used for non-exe files - executables are automatically shimmed - -### Getting package specific information -Use the package parameters pattern - see https://github.com/chocolatey/choco/wiki/How-To-Parse-PackageParameters-Argument - -### Need to mount an ISO? -https://github.com/chocolatey/choco/wiki/How-To-Mount-An-Iso-In-Chocolatey-Package - - -### Environment Variables -Chocolatey makes a number of environment variables available (You can access any of these with $env:TheVariableNameBelow): - - * TEMP = Overridden to the CacheLocation, but may be the same as the original TEMP folder - * ChocolateyInstall = Top level folder where Chocolatey is installed - * chocolateyPackageName = The name of the package, equivalent to the id in the nuspec (0.9.9+) - * chocolateyPackageVersion = The version of the package, equivalent to the version in the nuspec (0.9.9+) - * chocolateyPackageFolder = The top level location of the package folder - -#### Advanced Environment Variables -The following are more advanced settings: - - * chocolateyPackageParameters = (0.9.8.22+) - * CHOCOLATEY_VERSION = The version of Choco you normally see. Use if you are 'lighting' things up based on choco version. (0.9.9+) - - Otherwise take a dependency on the specific version you need. - * chocolateyForceX86 = If available and set to 'true', then user has requested 32bit version. (0.9.9+) - - Automatically handled in built in Choco functions. - * OS_PLATFORM = Like Windows, OSX, Linux. (0.9.9+) - * OS_VERSION = The version of OS, like 6.1 something something for Windows. (0.9.9+) - * OS_NAME = The reported name of the OS. (0.9.9+) - * IS_PROCESSELEVATED = Is the process elevated? (0.9.9+) - -#### Experimental Environment Variables -The following are experimental or use not recommended: - - * OS_IS64BIT = This may not return correctly - it may depend on the process the app is running under (0.9.9+) - * CHOCOLATEY_VERSION_PRODUCT = the version of Choco that may match CHOCOLATEY_VERSION but may be different (0.9.9+) - - it's based on git describe - * IS_ADMIN = Is the user an administrator? But doesn't tell you if the process is elevated. (0.9.9+) - * chocolateyInstallOverride = Not for use in package automation scripts. (0.9.9+) - * chocolateyInstallArguments = the installer arguments meant for the native installer. You should use chocolateyPackageParameters intead. (0.9.9+) - diff --git a/iis-arr/tools/chocolateyinstall.ps1 b/iis-arr/tools/chocolateyinstall.ps1 index 2cb2df1..6f04a76 100755 --- a/iis-arr/tools/chocolateyinstall.ps1 +++ b/iis-arr/tools/chocolateyinstall.ps1 @@ -1,117 +1,44 @@ -# IMPORTANT: Before releasing this package, copy/paste the next 2 lines into PowerShell to remove all comments from this file: -# $f='c:\path\to\thisFile.ps1' -# gc $f | ? {$_ -notmatch "^\s*#"} | % {$_ -replace '(^.*?)\s*?[^``]#.*','$1'} | Out-File $f+".~" -en utf8; mv -fo $f+".~" $f - -$ErrorActionPreference = 'Stop'; # stop on all errors + +$ErrorActionPreference = 'Stop'; -$packageName= 'iis-arr' # arbitrary name for the package, used in messages +$packageName= 'iis-arr' $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" -$url = 'http://download.microsoft.com/download/5/3/2/532630BE-7DCA-4352-984B-8D4EADBE5BEF/requestRouter_x86.msi' # download url -$url64 = 'http://download.microsoft.com/download/E/9/8/E9849D6A-020E-47E4-9FD0-A023E99B54EB/requestRouter_amd64.msi' # 64bit URL here or remove - if installer is both, use $url -#$fileLocation = Join-Path $toolsDir 'NAME_OF_EMBEDDED_INSTALLER_FILE' -#$fileLocation = Join-Path $toolsDir 'SHARE_LOCATION_OF_INSTALLER_FILE' +$url = 'http://download.microsoft.com/download/5/3/2/532630BE-7DCA-4352-984B-8D4EADBE5BEF/requestRouter_x86.msi' +$url64 = 'http://download.microsoft.com/download/E/9/8/E9849D6A-020E-47E4-9FD0-A023E99B54EB/requestRouter_amd64.msi' $packageArgs = @{ packageName = $packageName unzipLocation = $toolsDir - fileType = 'MSI' #only one of these: exe, msi, msu + fileType = 'MSI' url = $url url64bit = $url64 - #file = $fileLocation - #MSI - silentArgs = "/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`"" # ALLUSERS=1 DISABLEDESKTOPSHORTCUT=1 ADDDESKTOPICON=0 ADDSTARTMENU=0 + silentArgs = "/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`"" validExitCodes= @(0, 3010, 1641) - #OTHERS - # Uncomment matching EXE type (sorted by most to least common) - #silentArgs = '/S' # NSIS - #silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup - #silentArgs = '/s' # InstallShield - #silentArgs = '/s /v"/qn"' # InstallShield with MSI - #silentArgs = '/s' # Wise InstallMaster - #silentArgs = '-s' # Squirrel - #silentArgs = '-q' # Install4j - #silentArgs = '-s -u' # Ghost - # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence. - #silentArgs = '' # none; make silent with input macro script like AutoHotKey (AHK) - # https://chocolatey.org/packages/autohotkey.portable - #validExitCodes= @(0) #please insert other valid exit codes here - # optional, highly recommended - softwareName = 'Microsoft Application Request Routing 3.0' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique + softwareName = 'Microsoft Application Request Routing 3.0' checksum = '69bd0a5fb2a9f9cbed3a5cb1a4ca429698610d07' - checksumType = 'sha1' #default is md5, can also be sha1 + checksumType = 'sha1' checksum64 = '5f4f24058dcd675da46dc0c4b17969d41fce68c1' - checksumType64= 'sha1' #default is checksumType + checksumType64= 'sha1' } Install-ChocolateyPackage @packageArgs -#Install-ChocolateyZipPackage @packageArgs -# if you are making your own internal packages (organizations), you can embed the installer or -# put on internal file share and use the following instead (you'll need to add $file to the above) -#Install-ChocolateyInstallPackage @packageArgs -## Main helper functions - these have error handling tucked into them already -## see https://github.com/chocolatey/choco/wiki/HelpersReference -## Install an application, will assert administrative rights -## add additional optional arguments as necessary -##Install-ChocolateyPackage $packageName $fileType $silentArgs $url [$url64 -validExitCodes $validExitCodes -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64] -## Download and unpack a zip file -##Install-ChocolateyZipPackage $packageName $url $toolsDir [$url64 -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64] -## Install Visual Studio Package -#Install-ChocolateyVsixPackage $packageName $url [$vsVersion] [-checksum $checksum -checksumType $checksumType] -#Install-ChocolateyVsixPackage @packageArgs -# see the full list at https://github.com/chocolatey/choco/wiki/HelpersReference -# downloader that the main helpers use to download items -# if removing $url64, please remove from here -#Get-ChocolateyWebFile $packageName 'DOWNLOAD_TO_FILE_FULL_PATH' $url $url64 -# installer, will assert administrative rights - used by Install-ChocolateyPackage -# use this for embedding installers in the package when not going to community feed or when you have distribution rights -#Install-ChocolateyInstallPackage $packageName $fileType $silentArgs '_FULLFILEPATH_' -validExitCodes $validExitCodes -# unzips a file to the specified location - auto overwrites existing content -#Get-ChocolateyUnzip "FULL_LOCATION_TO_ZIP.zip" $toolsDir -# Runs processes asserting UAC, will assert administrative rights - used by Install-ChocolateyInstallPackage -#Start-ChocolateyProcessAsAdmin 'STATEMENTS_TO_RUN' 'Optional_Application_If_Not_PowerShell' -validExitCodes $validExitCodes -# add specific folders to the path - any executables found in the chocolatey package folder will already be on the path. This is used in addition to that or for cases when a native installer doesn't add things to the path. -#Install-ChocolateyPath 'LOCATION_TO_ADD_TO_PATH' 'User_OR_Machine' # Machine will assert administrative rights -# add specific files as shortcuts to the desktop -#$target = Join-Path $toolsDir "$($packageName).exe" -# Install-ChocolateyShortcut -shortcutFilePath "" -targetPath "" [-workDirectory "C:\" -arguments "C:\test.txt" -iconLocation "C:\test.ico" -description "This is the description"] -# outputs the bitness of the OS (either "32" or "64") -#$osBitness = Get-ProcessorBits -#Install-ChocolateyEnvironmentVariable -variableName "SOMEVAR" -variableValue "value" [-variableType = 'Machine' #Defaults to 'User'] -#Install-ChocolateyFileAssociation -#Install-BinFile ## only use this for non-exe files - chocolatey will automatically pick up the exe files and shim them automatically -## https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-exclude-executables-from-getting-batch-redirects -##PORTABLE EXAMPLE -#$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" -# despite the name "Install-ChocolateyZipPackage" this also works with 7z archives -#Install-ChocolateyZipPackage $packageName $url $toolsDir $url64 -## END PORTABLE EXAMPLE -## [DEPRECATING] PORTABLE EXAMPLE -#$binRoot = Get-BinRoot -#$installDir = Join-Path $binRoot "$packageName" -#Write-Host "Adding `'$installDir`' to the path and the current shell path" -#Install-ChocolateyPath "$installDir" -#$env:Path = "$($env:Path);$installDir" -# if removing $url64, please remove from here -# despite the name "Install-ChocolateyZipPackage" this also works with 7z archives -#Install-ChocolateyZipPackage "$packageName" "$url" "$installDir" "$url64" -## END PORTABLE EXAMPLE diff --git a/iis-arr/tools/chocolateyuninstall.ps1 b/iis-arr/tools/chocolateyuninstall.ps1 index 421984f..1ef495c 100755 --- a/iis-arr/tools/chocolateyuninstall.ps1 +++ b/iis-arr/tools/chocolateyuninstall.ps1 @@ -1,35 +1,14 @@ -# IMPORTANT: Before releasing this package, copy/paste the next 2 lines into PowerShell to remove all comments from this file: -# $f='c:\path\to\thisFile.ps1' -# gc $f | ? {$_ -notmatch "^\s*#"} | % {$_ -replace '(^.*?)\s*?[^``]#.*','$1'} | Out-File $f+".~" -en utf8; mv -fo $f+".~" $f + -# If this is an MSI, cleaning up comments is all you need. -# If this is an exe, change installerType and silentArgs -# Auto Uninstaller should be able to detect and handle registry uninstalls (if it is turned on, it is in preview for 0.9.9). - -$ErrorActionPreference = 'Stop'; # stop on all errors +$ErrorActionPreference = 'Stop'; $packageName = 'iis-arr' -$softwareName = 'Microsoft Application Request Routing 3.0' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique +$softwareName = 'Microsoft Application Request Routing 3.0' $installerType = 'MSI' -#$installerType = 'EXE' $silentArgs = '/qn /norestart' -# https://msdn.microsoft.com/en-us/library/aa376931(v=vs.85).aspx $validExitCodes = @(0, 3010, 1605, 1614, 1641) if ($installerType -ne 'MSI') { - # The below is somewhat naive and built for EXE installers - # Uncomment matching EXE type (sorted by most to least common) - #$silentArgs = '/S' # NSIS - #$silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup - #$silentArgs = '/s' # InstallShield - #$silentArgs = '/s /v"/qn"' # InstallShield with MSI - #$silentArgs = '/s' # Wise InstallMaster - #$silentArgs = '-s' # Squirrel - #$silentArgs = '-q' # Install4j - #$silentArgs = '-s -u' # Ghost - # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence. - #$silentArgs = '' # none; make silent with input macro script like AutoHotKey (AHK) - # https://chocolatey.org/packages/autohotkey.portable $validExitCodes = @(0) } @@ -47,14 +26,8 @@ if ($key.Count -eq 1) { $file = "$($_.UninstallString)" if ($installerType -eq 'MSI') { - # The Product Code GUID is all that should be passed for MSI, and very - # FIRST, because it comes directly after /x, which is already set in the - # Uninstall-ChocolateyPackage msiargs (facepalm). $silentArgs = "$($_.PSChildName) $silentArgs" - # Don't pass anything for file, it is ignored for msi (facepalm number 2) - # Alternatively if you need to pass a path to an msi, determine that and - # use it instead of the above in silentArgs, still very first $file = '' } @@ -74,9 +47,4 @@ if ($key.Count -eq 1) { } -## OTHER HELPERS -## https://github.com/chocolatey/choco/wiki/HelpersReference -#Uninstall-ChocolateyZipPackage -#Uninstall-BinFile # Only needed if you added one in the installer script, choco will remove the ones it added automatically. -#remove any shortcuts you added diff --git a/iis-externalcache/iis-externalcache.nuspec b/iis-externalcache/iis-externalcache.nuspec index 3831416..5b0be69 100755 --- a/iis-externalcache/iis-externalcache.nuspec +++ b/iis-externalcache/iis-externalcache.nuspec @@ -2,7 +2,6 @@ - iis-externalcache iis-externalcache (Install) 1.1.20151123 @@ -12,22 +11,13 @@ IIS External Cache Module http://learn.iis.net/page.aspx/489/using-the-application-request-routing-module - + https://github.com/bcc/choco-packages iis-externalcache iis externalcache admin http://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ExternalCache_RTW_EULA.htm true http://www.microsoft.com/web/media/gallery/apps-screenshots/IIS_WebPlatformInstaller_GenericWizardArt.png - * 1.1.20151123 Initial packaging of 1.1 - diff --git a/iis-externalcache/tools/ReadMe.md b/iis-externalcache/tools/ReadMe.md deleted file mode 100755 index e9d10ef..0000000 --- a/iis-externalcache/tools/ReadMe.md +++ /dev/null @@ -1,91 +0,0 @@ -## Summary -How do I create packages? See https://github.com/chocolatey/choco/wiki/CreatePackages - -If you are submitting packages to the community feed (https://chocolatey.org) -always try to ensure you have read, understood and adhere to the create -packages wiki link above. - -## Automatic Packages? -Consider making this package an automatic package, for the best -maintainability over time. Read up at https://github.com/chocolatey/choco/wiki/AutomaticPackages - -## Shim Generation -Any executables you include in the package or download (but don't call -install against using the built-in functions) will be automatically shimmed. - -This means those executables will automatically be included on the path. -Shim generation runs whether the package is self-contained or uses automation -scripts. - -By default, these are considered console applications. - -If the application is a GUI, you should create an empty file next to the exe -named 'name.exe.gui' e.g. 'bob.exe' would need a file named 'bob.exe.gui'. -See https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-set-up-batch-redirects-for-applications-that-have-a-gui - -If you want to ignore the executable, create an empty file next to the exe -named 'name.exe.ignore' e.g. 'bob.exe' would need a file named -'bob.exe.ignore'. -See https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-exclude-executables-from-getting-batch-redirects - -## Self-Contained? -If you have a self-contained package, you can remove the automation scripts -entirely and just include the executables, they will automatically get shimmed, -which puts them on the path. Ensure you have the legal right to distribute -the application though. See https://github.com/chocolatey/choco/wiki/Legal. - -You should read up on the Shim Generation section to familiarize yourself -on what to do with GUI applications and/or ignoring shims. - -## Automation Scripts -You have a powerful use of Chocolatey, as you are using PowerShell. So you -can do just about anything you need. Choco has some very handy built-in -functions that you can use, these are sometimes called the helpers. - -### Built-In Functions -https://github.com/chocolatey/choco/wiki/HelpersReference - -A note about a couple: -* Get-BinRoot - this is a horribly named function that doesn't do what new folks think it does. It gets you the 'tools' root, which by default is set to 'c:\tools', not the chocolateyInstall bin folder. -* Install-BinFile - used for non-exe files - executables are automatically shimmed... -* Uninstall-BinFile - used for non-exe files - executables are automatically shimmed - -### Getting package specific information -Use the package parameters pattern - see https://github.com/chocolatey/choco/wiki/How-To-Parse-PackageParameters-Argument - -### Need to mount an ISO? -https://github.com/chocolatey/choco/wiki/How-To-Mount-An-Iso-In-Chocolatey-Package - - -### Environment Variables -Chocolatey makes a number of environment variables available (You can access any of these with $env:TheVariableNameBelow): - - * TEMP = Overridden to the CacheLocation, but may be the same as the original TEMP folder - * ChocolateyInstall = Top level folder where Chocolatey is installed - * chocolateyPackageName = The name of the package, equivalent to the id in the nuspec (0.9.9+) - * chocolateyPackageVersion = The version of the package, equivalent to the version in the nuspec (0.9.9+) - * chocolateyPackageFolder = The top level location of the package folder - -#### Advanced Environment Variables -The following are more advanced settings: - - * chocolateyPackageParameters = (0.9.8.22+) - * CHOCOLATEY_VERSION = The version of Choco you normally see. Use if you are 'lighting' things up based on choco version. (0.9.9+) - - Otherwise take a dependency on the specific version you need. - * chocolateyForceX86 = If available and set to 'true', then user has requested 32bit version. (0.9.9+) - - Automatically handled in built in Choco functions. - * OS_PLATFORM = Like Windows, OSX, Linux. (0.9.9+) - * OS_VERSION = The version of OS, like 6.1 something something for Windows. (0.9.9+) - * OS_NAME = The reported name of the OS. (0.9.9+) - * IS_PROCESSELEVATED = Is the process elevated? (0.9.9+) - -#### Experimental Environment Variables -The following are experimental or use not recommended: - - * OS_IS64BIT = This may not return correctly - it may depend on the process the app is running under (0.9.9+) - * CHOCOLATEY_VERSION_PRODUCT = the version of Choco that may match CHOCOLATEY_VERSION but may be different (0.9.9+) - - it's based on git describe - * IS_ADMIN = Is the user an administrator? But doesn't tell you if the process is elevated. (0.9.9+) - * chocolateyInstallOverride = Not for use in package automation scripts. (0.9.9+) - * chocolateyInstallArguments = the installer arguments meant for the native installer. You should use chocolateyPackageParameters intead. (0.9.9+) - diff --git a/iis-externalcache/tools/chocolateyinstall.ps1 b/iis-externalcache/tools/chocolateyinstall.ps1 index 5600b3c..b757751 100755 --- a/iis-externalcache/tools/chocolateyinstall.ps1 +++ b/iis-externalcache/tools/chocolateyinstall.ps1 @@ -1,117 +1,44 @@ -# IMPORTANT: Before releasing this package, copy/paste the next 2 lines into PowerShell to remove all comments from this file: -# $f='c:\path\to\thisFile.ps1' -# gc $f | ? {$_ -notmatch "^\s*#"} | % {$_ -replace '(^.*?)\s*?[^``]#.*','$1'} | Out-File $f+".~" -en utf8; mv -fo $f+".~" $f - -$ErrorActionPreference = 'Stop'; # stop on all errors + +$ErrorActionPreference = 'Stop'; -$packageName= 'iis-externalcache' # arbitrary name for the package, used in messages +$packageName= 'iis-externalcache' $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" -$url = 'http://download.microsoft.com/download/D/C/E/DCEE2E97-3008-474F-896C-54E9DFE4C81B/ExternalDiskCache_x86.msi' # download url -$url64 = 'http://download.microsoft.com/download/C/A/5/CA5FAD87-1E93-454A-BB74-98310A9C523C/ExternalDiskCache_amd64.msi' # 64bit URL here or remove - if installer is both, use $url -#$fileLocation = Join-Path $toolsDir 'NAME_OF_EMBEDDED_INSTALLER_FILE' -#$fileLocation = Join-Path $toolsDir 'SHARE_LOCATION_OF_INSTALLER_FILE' +$url = 'http://download.microsoft.com/download/D/C/E/DCEE2E97-3008-474F-896C-54E9DFE4C81B/ExternalDiskCache_x86.msi' +$url64 = 'http://download.microsoft.com/download/C/A/5/CA5FAD87-1E93-454A-BB74-98310A9C523C/ExternalDiskCache_amd64.msi' $packageArgs = @{ packageName = $packageName unzipLocation = $toolsDir - fileType = 'MSI' #only one of these: exe, msi, msu + fileType = 'MSI' url = $url url64bit = $url64 - #file = $fileLocation - #MSI - silentArgs = "/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`"" # ALLUSERS=1 DISABLEDESKTOPSHORTCUT=1 ADDDESKTOPICON=0 ADDSTARTMENU=0 + silentArgs = "/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`"" validExitCodes= @(0, 3010, 1641) - #OTHERS - # Uncomment matching EXE type (sorted by most to least common) - #silentArgs = '/S' # NSIS - #silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup - #silentArgs = '/s' # InstallShield - #silentArgs = '/s /v"/qn"' # InstallShield with MSI - #silentArgs = '/s' # Wise InstallMaster - #silentArgs = '-s' # Squirrel - #silentArgs = '-q' # Install4j - #silentArgs = '-s -u' # Ghost - # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence. - #silentArgs = '' # none; make silent with input macro script like AutoHotKey (AHK) - # https://chocolatey.org/packages/autohotkey.portable - #validExitCodes= @(0) #please insert other valid exit codes here - # optional, highly recommended - softwareName = 'Microsoft External Cache' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique + softwareName = 'Microsoft External Cache' checksum = '77a28bd68a0a51981eeb37ba39632831bd7d9a59' - checksumType = 'sha1' #default is md5, can also be sha1 + checksumType = 'sha1' checksum64 = 'e408df20ee6aa202c7bc3771a4f5a97d2bfc52bf' - checksumType64= 'sha1' #default is checksumType + checksumType64= 'sha1' } Install-ChocolateyPackage @packageArgs -#Install-ChocolateyZipPackage @packageArgs -# if you are making your own internal packages (organizations), you can embed the installer or -# put on internal file share and use the following instead (you'll need to add $file to the above) -#Install-ChocolateyInstallPackage @packageArgs -## Main helper functions - these have error handling tucked into them already -## see https://github.com/chocolatey/choco/wiki/HelpersReference -## Install an application, will assert administrative rights -## add additional optional arguments as necessary -##Install-ChocolateyPackage $packageName $fileType $silentArgs $url [$url64 -validExitCodes $validExitCodes -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64] -## Download and unpack a zip file -##Install-ChocolateyZipPackage $packageName $url $toolsDir [$url64 -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64] -## Install Visual Studio Package -#Install-ChocolateyVsixPackage $packageName $url [$vsVersion] [-checksum $checksum -checksumType $checksumType] -#Install-ChocolateyVsixPackage @packageArgs -# see the full list at https://github.com/chocolatey/choco/wiki/HelpersReference -# downloader that the main helpers use to download items -# if removing $url64, please remove from here -#Get-ChocolateyWebFile $packageName 'DOWNLOAD_TO_FILE_FULL_PATH' $url $url64 -# installer, will assert administrative rights - used by Install-ChocolateyPackage -# use this for embedding installers in the package when not going to community feed or when you have distribution rights -#Install-ChocolateyInstallPackage $packageName $fileType $silentArgs '_FULLFILEPATH_' -validExitCodes $validExitCodes -# unzips a file to the specified location - auto overwrites existing content -#Get-ChocolateyUnzip "FULL_LOCATION_TO_ZIP.zip" $toolsDir -# Runs processes asserting UAC, will assert administrative rights - used by Install-ChocolateyInstallPackage -#Start-ChocolateyProcessAsAdmin 'STATEMENTS_TO_RUN' 'Optional_Application_If_Not_PowerShell' -validExitCodes $validExitCodes -# add specific folders to the path - any executables found in the chocolatey package folder will already be on the path. This is used in addition to that or for cases when a native installer doesn't add things to the path. -#Install-ChocolateyPath 'LOCATION_TO_ADD_TO_PATH' 'User_OR_Machine' # Machine will assert administrative rights -# add specific files as shortcuts to the desktop -#$target = Join-Path $toolsDir "$($packageName).exe" -# Install-ChocolateyShortcut -shortcutFilePath "" -targetPath "" [-workDirectory "C:\" -arguments "C:\test.txt" -iconLocation "C:\test.ico" -description "This is the description"] -# outputs the bitness of the OS (either "32" or "64") -#$osBitness = Get-ProcessorBits -#Install-ChocolateyEnvironmentVariable -variableName "SOMEVAR" -variableValue "value" [-variableType = 'Machine' #Defaults to 'User'] -#Install-ChocolateyFileAssociation -#Install-BinFile ## only use this for non-exe files - chocolatey will automatically pick up the exe files and shim them automatically -## https://github.com/chocolatey/choco/wiki/CreatePackages#how-do-i-exclude-executables-from-getting-batch-redirects -##PORTABLE EXAMPLE -#$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" -# despite the name "Install-ChocolateyZipPackage" this also works with 7z archives -#Install-ChocolateyZipPackage $packageName $url $toolsDir $url64 -## END PORTABLE EXAMPLE -## [DEPRECATING] PORTABLE EXAMPLE -#$binRoot = Get-BinRoot -#$installDir = Join-Path $binRoot "$packageName" -#Write-Host "Adding `'$installDir`' to the path and the current shell path" -#Install-ChocolateyPath "$installDir" -#$env:Path = "$($env:Path);$installDir" -# if removing $url64, please remove from here -# despite the name "Install-ChocolateyZipPackage" this also works with 7z archives -#Install-ChocolateyZipPackage "$packageName" "$url" "$installDir" "$url64" -## END PORTABLE EXAMPLE diff --git a/iis-externalcache/tools/chocolateyuninstall.ps1 b/iis-externalcache/tools/chocolateyuninstall.ps1 index ecd2fec..2d4076b 100755 --- a/iis-externalcache/tools/chocolateyuninstall.ps1 +++ b/iis-externalcache/tools/chocolateyuninstall.ps1 @@ -1,35 +1,14 @@ -# IMPORTANT: Before releasing this package, copy/paste the next 2 lines into PowerShell to remove all comments from this file: -# $f='c:\path\to\thisFile.ps1' -# gc $f | ? {$_ -notmatch "^\s*#"} | % {$_ -replace '(^.*?)\s*?[^``]#.*','$1'} | Out-File $f+".~" -en utf8; mv -fo $f+".~" $f + -# If this is an MSI, cleaning up comments is all you need. -# If this is an exe, change installerType and silentArgs -# Auto Uninstaller should be able to detect and handle registry uninstalls (if it is turned on, it is in preview for 0.9.9). - -$ErrorActionPreference = 'Stop'; # stop on all errors +$ErrorActionPreference = 'Stop'; $packageName = 'iis-externalcache' -$softwareName = 'Microsoft External Cache' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique +$softwareName = 'Microsoft External Cache' $installerType = 'MSI' -#$installerType = 'EXE' $silentArgs = '/qn /norestart' -# https://msdn.microsoft.com/en-us/library/aa376931(v=vs.85).aspx $validExitCodes = @(0, 3010, 1605, 1614, 1641) if ($installerType -ne 'MSI') { - # The below is somewhat naive and built for EXE installers - # Uncomment matching EXE type (sorted by most to least common) - #$silentArgs = '/S' # NSIS - #$silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup - #$silentArgs = '/s' # InstallShield - #$silentArgs = '/s /v"/qn"' # InstallShield with MSI - #$silentArgs = '/s' # Wise InstallMaster - #$silentArgs = '-s' # Squirrel - #$silentArgs = '-q' # Install4j - #$silentArgs = '-s -u' # Ghost - # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence. - #$silentArgs = '' # none; make silent with input macro script like AutoHotKey (AHK) - # https://chocolatey.org/packages/autohotkey.portable $validExitCodes = @(0) } @@ -47,14 +26,8 @@ if ($key.Count -eq 1) { $file = "$($_.UninstallString)" if ($installerType -eq 'MSI') { - # The Product Code GUID is all that should be passed for MSI, and very - # FIRST, because it comes directly after /x, which is already set in the - # Uninstall-ChocolateyPackage msiargs (facepalm). $silentArgs = "$($_.PSChildName) $silentArgs" - # Don't pass anything for file, it is ignored for msi (facepalm number 2) - # Alternatively if you need to pass a path to an msi, determine that and - # use it instead of the above in silentArgs, still very first $file = '' } @@ -74,9 +47,4 @@ if ($key.Count -eq 1) { } -## OTHER HELPERS -## https://github.com/chocolatey/choco/wiki/HelpersReference -#Uninstall-ChocolateyZipPackage -#Uninstall-BinFile # Only needed if you added one in the installer script, choco will remove the ones it added automatically. -#remove any shortcuts you added