Cleanup comments to pre-empt validator complaints
This commit is contained in:
parent
76dfaee972
commit
295b39e488
8 changed files with 28 additions and 437 deletions
|
@ -1,9 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
|
||||
<!-- Data sources from WebPI: https://www.microsoft.com/web/webpi/5.0/webproductlist.xml -->
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<!-- Read this before publishing packages to chocolatey.org: https://github.com/chocolatey/chocolatey/wiki/CreatePackages -->
|
||||
<id>iis-arr</id>
|
||||
<title>iis-arr (Install)</title>
|
||||
<version>3.0.20160107</version>
|
||||
|
@ -13,11 +11,7 @@
|
|||
<description>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
|
||||
</description>
|
||||
<projectUrl>http://www.iis.net/downloads/microsoft/application-request-routing</projectUrl>
|
||||
<!--<packageSourceUrl></packageSourceUrl>
|
||||
<projectSourceUrl></projectSourceUrl>
|
||||
<docsUrl></docsUrl>
|
||||
<mailingListUrl></mailingListUrl>
|
||||
<bugTrackerUrl></bugTrackerUrl>-->
|
||||
<packageSourceUrl>https://github.com/bcc/choco-packages</packageSourceUrl>
|
||||
<tags>iis-arr iis arr admin</tags>
|
||||
<copyright></copyright>
|
||||
<licenseUrl>http://go.microsoft.com/?linkid=9835457</licenseUrl>
|
||||
|
@ -31,7 +25,6 @@
|
|||
* 3.0.20151123 - first packaging of ARR 3.0
|
||||
* 3.0.20160107 - version bump for updated UrlRewrite dependency
|
||||
</releaseNotes>
|
||||
<!--<provides></provides>-->
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
|
|
|
@ -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+)
|
||||
|
|
@ -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 "<path>" -targetPath "<path>" [-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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
<!-- Do not remove this test for UTF-8: if “Ω” doesn’t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<!-- Read this before publishing packages to chocolatey.org: https://github.com/chocolatey/chocolatey/wiki/CreatePackages -->
|
||||
<id>iis-externalcache</id>
|
||||
<title>iis-externalcache (Install)</title>
|
||||
<version>1.1.20151123</version>
|
||||
|
@ -12,22 +11,13 @@
|
|||
<description>IIS External Cache Module
|
||||
</description>
|
||||
<projectUrl>http://learn.iis.net/page.aspx/489/using-the-application-request-routing-module</projectUrl>
|
||||
<!--<packageSourceUrl></packageSourceUrl>
|
||||
<projectSourceUrl></projectSourceUrl>
|
||||
<docsUrl></docsUrl>
|
||||
<mailingListUrl></mailingListUrl>
|
||||
<bugTrackerUrl></bugTrackerUrl>-->
|
||||
<packageSourceUrl>https://github.com/bcc/choco-packages</packageSourceUrl>
|
||||
<tags>iis-externalcache iis externalcache admin</tags>
|
||||
<copyright></copyright>
|
||||
<licenseUrl>http://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ExternalCache_RTW_EULA.htm</licenseUrl>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<iconUrl>http://www.microsoft.com/web/media/gallery/apps-screenshots/IIS_WebPlatformInstaller_GenericWizardArt.png</iconUrl>
|
||||
<!--<dependencies>
|
||||
<dependency id="" version="__VERSION__" />
|
||||
<dependency id="" />
|
||||
</dependencies>-->
|
||||
<releaseNotes> * 1.1.20151123 Initial packaging of 1.1</releaseNotes>
|
||||
<!--<provides></provides>-->
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="tools\**" target="tools" />
|
||||
|
|
|
@ -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+)
|
||||
|
|
@ -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 "<path>" -targetPath "<path>" [-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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue