JM: allow choco to install 32 bit version (#42946)
* JM: allow choco to install 32 bit version * JM: style corrections * Revert style changes in lists * JM: changing from boolean to string choice * JM: updating examplepull/4420/head
parent
f89d3721b4
commit
0f6488bb15
|
@ -33,6 +33,7 @@ $skipscripts = Get-AnsibleParam -obj $params -name "skip_scripts" -type "bool" -
|
||||||
$proxy_url = Get-AnsibleParam -obj $params -name "proxy_url" -type "str"
|
$proxy_url = Get-AnsibleParam -obj $params -name "proxy_url" -type "str"
|
||||||
$proxy_username = Get-AnsibleParam -obj $params -name "proxy_username" -type "str"
|
$proxy_username = Get-AnsibleParam -obj $params -name "proxy_username" -type "str"
|
||||||
$proxy_password = Get-AnsibleParam -obj $params -name "proxy_password" -type "str" -failifempty ($proxy_username -ne $null)
|
$proxy_password = Get-AnsibleParam -obj $params -name "proxy_password" -type "str" -failifempty ($proxy_username -ne $null)
|
||||||
|
$architecture = Get-AnsibleParam -obj $params -name "architecture" -type "str" -default "default" -validateset "default","x86"
|
||||||
|
|
||||||
$result = @{
|
$result = @{
|
||||||
changed = $false
|
changed = $false
|
||||||
|
@ -192,7 +193,8 @@ Function Choco-Upgrade
|
||||||
[bool] $allowprerelease,
|
[bool] $allowprerelease,
|
||||||
[string] $proxy_url,
|
[string] $proxy_url,
|
||||||
[string] $proxy_username,
|
[string] $proxy_username,
|
||||||
[string] $proxy_password
|
[string] $proxy_password,
|
||||||
|
[string] $architecture
|
||||||
)
|
)
|
||||||
|
|
||||||
if (-not (Choco-IsInstalled $package))
|
if (-not (Choco-IsInstalled $package))
|
||||||
|
@ -202,6 +204,10 @@ Function Choco-Upgrade
|
||||||
|
|
||||||
$options = @( "-y", $package, "--timeout", "$timeout", "--failonunfound" )
|
$options = @( "-y", $package, "--timeout", "$timeout", "--failonunfound" )
|
||||||
|
|
||||||
|
switch ($architecture) {
|
||||||
|
"x86" { $options += "--x86" ; break}
|
||||||
|
}
|
||||||
|
|
||||||
if ($check_mode)
|
if ($check_mode)
|
||||||
{
|
{
|
||||||
$options += "--whatif"
|
$options += "--whatif"
|
||||||
|
@ -306,6 +312,7 @@ Function Choco-Upgrade
|
||||||
$result.failed = $false
|
$result.failed = $false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Function Choco-Install
|
Function Choco-Install
|
||||||
{
|
{
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
|
@ -327,7 +334,8 @@ Function Choco-Install
|
||||||
[bool] $allowprerelease,
|
[bool] $allowprerelease,
|
||||||
[string] $proxy_url,
|
[string] $proxy_url,
|
||||||
[string] $proxy_username,
|
[string] $proxy_username,
|
||||||
[string] $proxy_password
|
[string] $proxy_password,
|
||||||
|
[string] $architecture
|
||||||
)
|
)
|
||||||
|
|
||||||
if (Choco-IsInstalled $package)
|
if (Choco-IsInstalled $package)
|
||||||
|
@ -340,7 +348,7 @@ Function Choco-Install
|
||||||
-ignorechecksums $ignorechecksums -ignoredependencies $ignoredependencies `
|
-ignorechecksums $ignorechecksums -ignoredependencies $ignoredependencies `
|
||||||
-allowdowngrade $allowdowngrade -proxy_url $proxy_url `
|
-allowdowngrade $allowdowngrade -proxy_url $proxy_url `
|
||||||
-proxy_username $proxy_username -proxy_password $proxy_password `
|
-proxy_username $proxy_username -proxy_password $proxy_password `
|
||||||
-allowprerelease $allowprerelease
|
-allowprerelease $allowprerelease -architecture $architecture
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
elseif (-not $force)
|
elseif (-not $force)
|
||||||
|
@ -351,6 +359,10 @@ Function Choco-Install
|
||||||
|
|
||||||
$options = @( "-y", $package, "--timeout", "$timeout", "--failonunfound" )
|
$options = @( "-y", $package, "--timeout", "$timeout", "--failonunfound" )
|
||||||
|
|
||||||
|
switch ($architecture) {
|
||||||
|
"x86" { $options += "--x86" ; break}
|
||||||
|
}
|
||||||
|
|
||||||
if ($check_mode)
|
if ($check_mode)
|
||||||
{
|
{
|
||||||
$options += "--whatif"
|
$options += "--whatif"
|
||||||
|
@ -529,7 +541,7 @@ if ($state -in ("downgrade", "latest", "present", "reinstalled")) {
|
||||||
-ignorechecksums $ignorechecksums -ignoredependencies $ignoredependencies `
|
-ignorechecksums $ignorechecksums -ignoredependencies $ignoredependencies `
|
||||||
-allowdowngrade ($state -eq "downgrade") -proxy_url $proxy_url `
|
-allowdowngrade ($state -eq "downgrade") -proxy_url $proxy_url `
|
||||||
-proxy_username $proxy_username -proxy_password $proxy_password `
|
-proxy_username $proxy_username -proxy_password $proxy_password `
|
||||||
-allowprerelease $allowprerelease
|
-allowprerelease $allowprerelease -architecture $architecture
|
||||||
}
|
}
|
||||||
|
|
||||||
Exit-Json -obj $result
|
Exit-Json -obj $result
|
||||||
|
|
|
@ -51,6 +51,15 @@ options:
|
||||||
source:
|
source:
|
||||||
description:
|
description:
|
||||||
- Specify source rather than using default chocolatey repository.
|
- Specify source rather than using default chocolatey repository.
|
||||||
|
architecture:
|
||||||
|
description:
|
||||||
|
- Allows installation of alternative architecture packages, for example,
|
||||||
|
32bit on 64bit windows.
|
||||||
|
version_added: '2.7'
|
||||||
|
choices:
|
||||||
|
- default
|
||||||
|
- x86
|
||||||
|
default: default
|
||||||
install_args:
|
install_args:
|
||||||
description:
|
description:
|
||||||
- Arguments to pass to the native installer.
|
- Arguments to pass to the native installer.
|
||||||
|
@ -154,6 +163,11 @@ EXAMPLES = r'''
|
||||||
name: notepadplusplus
|
name: notepadplusplus
|
||||||
version: '6.6'
|
version: '6.6'
|
||||||
|
|
||||||
|
- name: Install notepadplusplus 32 bit version
|
||||||
|
win_chocolatey:
|
||||||
|
name: notepadplusplus
|
||||||
|
architecture: 'x86'
|
||||||
|
|
||||||
- name: Install git from specified repository
|
- name: Install git from specified repository
|
||||||
win_chocolatey:
|
win_chocolatey:
|
||||||
name: git
|
name: git
|
||||||
|
|
Loading…
Reference in New Issue