Octopus.Script exported 2020-11-03 by fabiozanella belongs to ‘dll’ category.
This script registers EPPlus dll to the GAC
Parameters
When steps based on the template are included in a project’s deployment process, the parameters below can be set.
Path of the registering dll
RegisteringDllFolderPath = C:\dll
null
Regintering dll path inside NuGet archive
DllPathInExpanded = \lib\net40
null
Dll file name
DllName = EPPlus.dll
null
NuGet gallery package name
PackageName = EPPlus
null
Registering dll version
PackageVersion = 4.1.0.0
null
Script body
Steps based on this template will execute the following PowerShell script.
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
function Expand-ZIPFile($file, $destination)
{
$shell = new-object -com shell.application
$zip = $shell.NameSpace($file)
foreach($item in $zip.items())
{
$shell.Namespace($destination).copyhere($item)
}
}
$TempFolder = "\TempNupkg"
$ExpandedFolder = "\expanded"
$FileDestinationPath = $RegisteringDllFolderPath + "\" + $DllName
$FileSourcePath = $RegisteringDllFolderPath + $TempFolder + $ExpandedFolder + $DllPathInExpanded + "\" + $DllName
$TempPath = $RegisteringDllFolderPath + $TempFolder
$NupkgPath = $RegisteringDllFolderPath + $TempFolder + "\temp.zip"
$ExpandedTempPath = $RegisteringDllFolderPath + $TempFolder + $ExpandedFolder
$DllUrl = "https://www.nuget.org/api/v2/package/"+ $PackageName +"/" + $PackageVersion
if (!(Test-Path $ExpandedTempPath -PathType Container)) {
New-Item -ItemType Directory -Force -Path $ExpandedTempPath
}
Write-Host "Allow SecurityProtocol TLS, TLS 1.1 and TLS 1.2 ..."
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Write-Host "Dowloading package ..."
Invoke-WebRequest -Uri $DllUrl -OutFile $NupkgPath
Write-Host "Expanding Archive ..."
Expand-ZIPFile –File $NupkgPath –Destination $ExpandedTempPath
Write-Host "Copying to destination folder ..."
Copy-Item $FileSourcePath -Destination $FileDestinationPath
Remove-Item -Recurse -Force $TempPath
Write-Host "Deleteing temp folders ..."
Write-Host "Library Found"
#Note that you should be running PowerShell as an Administrator
Write-Host "Installing to GAC ..."
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall($fileDestinationPath)
Write-Host "Installed to GAC"
Provided under the Apache License version 2.0.
To use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
{
"Id": "137d2be3-a329-4c65-bde9-0c062f056889",
"Name": "Register EPPlus DLL in the GAC",
"Description": "This script registers EPPlus dll to the GAC",
"Version": 2,
"ExportedAt": "2020-11-03T09:07:40.202Z",
"ActionType": "Octopus.Script",
"Author": "fabiozanella",
"Packages": [],
"Parameters": [
{
"Id": "5ee60108-20e4-4010-95cc-c13eb40c618f",
"Name": "RegisteringDllFolderPath",
"Label": "Path of the registering dll",
"HelpText": null,
"DefaultValue": "C:\\dll",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "4817d840-5b87-4d8b-bdac-53711f093ae4",
"Name": "DllPathInExpanded",
"Label": "Regintering dll path inside NuGet archive",
"HelpText": null,
"DefaultValue": "\\lib\\net40",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "c5e7cff7-e67d-48a4-adb6-6019d06ba249",
"Name": "DllName",
"Label": "Dll file name",
"HelpText": null,
"DefaultValue": "EPPlus.dll",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "c326490c-ea29-4b2b-99e7-37027233bd06",
"Name": "PackageName",
"Label": "NuGet gallery package name",
"HelpText": null,
"DefaultValue": "EPPlus",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Id": "ea04aa17-5fea-4e06-82e8-d344c797547c",
"Name": "PackageVersion",
"Label": "Registering dll version",
"HelpText": null,
"DefaultValue": "4.1.0.0",
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptSource": "Inline",
"Octopus.Action.Script.Syntax": "PowerShell",
"Octopus.Action.Script.ScriptBody": "[System.Reflection.Assembly]::Load(\"System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\")\n\nfunction Expand-ZIPFile($file, $destination)\n{\n $shell = new-object -com shell.application\n $zip = $shell.NameSpace($file)\n foreach($item in $zip.items())\n {\n $shell.Namespace($destination).copyhere($item)\n }\n}\n\n$TempFolder = \"\\TempNupkg\"\n$ExpandedFolder = \"\\expanded\"\n\n$FileDestinationPath = $RegisteringDllFolderPath + \"\\\" + $DllName \n$FileSourcePath = $RegisteringDllFolderPath + $TempFolder + $ExpandedFolder + $DllPathInExpanded + \"\\\" + $DllName\n\n$TempPath = $RegisteringDllFolderPath + $TempFolder\n$NupkgPath = $RegisteringDllFolderPath + $TempFolder + \"\\temp.zip\"\n$ExpandedTempPath = $RegisteringDllFolderPath + $TempFolder + $ExpandedFolder\n\n$DllUrl = \"https://www.nuget.org/api/v2/package/\"+ $PackageName +\"/\" + $PackageVersion\n\nif (!(Test-Path $ExpandedTempPath -PathType Container)) {\n New-Item -ItemType Directory -Force -Path $ExpandedTempPath\n}\n\nWrite-Host \"Allow SecurityProtocol TLS, TLS 1.1 and TLS 1.2 ...\"\n[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12\nWrite-Host \"Dowloading package ...\"\nInvoke-WebRequest -Uri $DllUrl -OutFile $NupkgPath\n\nWrite-Host \"Expanding Archive ...\"\nExpand-ZIPFile –File $NupkgPath –Destination $ExpandedTempPath\n\nWrite-Host \"Copying to destination folder ...\"\nCopy-Item $FileSourcePath -Destination $FileDestinationPath\n\nRemove-Item -Recurse -Force $TempPath\nWrite-Host \"Deleteing temp folders ...\"\n\nWrite-Host \"Library Found\"\n\n#Note that you should be running PowerShell as an Administrator\nWrite-Host \"Installing to GAC ...\"\n$publish = New-Object System.EnterpriseServices.Internal.Publish\n$publish.GacInstall($fileDestinationPath)\nWrite-Host \"Installed to GAC\""
},
"Category": "dll",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates//opt/buildagent/work/75443764cd38076d/step-templates/epplus-register-dll-gac.json",
"Website": "/step-templates/137d2be3-a329-4c65-bde9-0c062f056889",
"Logo": "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",
"$Meta": {
"Type": "ActionTemplate"
}
}
Page updated on Tuesday, November 3, 2020