I now have choco working via DSC for packages that are stored in Chocolatey's public repo. And I have the ORDChoco Source set up via DSC. When I log in to the remote server, I can do this:
choco list -source ORDChoco
Chocolatey v0.10.15
sccm 0.1.0.20210106
1 packages found.
That was created by the following DSCWorkshop-style configuration:
ChocolateyPackages:
Software:
Ensure: Present
Sources:
Name: ORDChoco
Ensure: Present
Source: '\\A\chiz$\software installs and downloads\ChocolateyPackages'
Features:
Name: useFipsCompliantChecksums
Ensure: Present
Packages:
- Name: sccm
Ensure: Present
ChocolateyOptions:
Source: ORDChoco
The one thing I still can't do is actually install my custom sccm package from ORDChoco. Am I getting hit with permissions, since I'm doing a DSC push from server A to B, and ORDChoco is on A? Is it because the account (SYSTEM, I guess?) that DSC is using can't access the share on A from B?
Here's the peccant part of my DSC push:
VERBOSE: [B]: [[ChocolateyPackage]Chocolatey_sccm::[ChocolateyPackages]ChocolateyPackages] Installing the
following packages:
VERBOSE: [B]: [[ChocolateyPackage]Chocolatey_sccm::[ChocolateyPackages]ChocolateyPackages] sccm
VERBOSE: [B]: [[ChocolateyPackage]Chocolatey_sccm::[ChocolateyPackages]ChocolateyPackages] By installing you
accept licenses for the packages.
VERBOSE: [B]: [[ChocolateyPackage]Chocolatey_sccm::[ChocolateyPackages]ChocolateyPackages] sccm not installed.
The package was not found with the source(s) listed.
VERBOSE: [B]: [[ChocolateyPackage]Chocolatey_sccm::[ChocolateyPackages]ChocolateyPackages] Source(s):
'\\A\chiz$\software installs and downloads\ChocolateyPackages'
The one thing I still can't do is actually install my custom sccm package from ORDChoco. Am I getting hit with permissions, since I'm doing a DSC push from server A to B, and ORDChoco is on A? Is it because the account (SYSTEM, I guess?) that DSC is using can't access the share on A from B?
You'll need to make sure B$ (dollar is important) has access to the share.
Is there a better way to do this - to push the install file from A to B (via DSC somehow), and then install it locally on B via DSC?
You could do it that way, but then you may have to update all of your packages that are using it.
If you want to use file shares with authorisation this is the way it needs to be done unfortunately. This is why we recommend you use a repository manager.
Now I'm working on my 2nd custom package. This one fails, which is probably due to something I'm not doing right in constructing the package. But when I look for details on precisely WHAT went wrong with the installation, I just get "See the log for details...". The log just says
2021-01-15 15:04:12,065 1316 [ERROR] - ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: The operation completed successfully.
2021-01-15 15:04:12,065 1316 [DEBUG] - Built-in PowerShell host called with ['[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'C:\ProgramData\chocolatey\helpers\chocolateyInstaller.psm1'; & 'C:\ProgramData\chocolatey\helpers\chocolateyScriptRunner.ps1' -packageScript 'C:\ProgramData\chocolatey\lib\bigfix\tools\chocolateyinstall.ps1' -installArguments '' -packageParameters '''] exited with '-1'.
2021-01-15 15:04:12,065 1316 [DEBUG] - Calling command ['"C:\Windows\System32\shutdown.exe" /a']
2021-01-15 15:04:12,174 1316 [DEBUG] - Command ['"C:\Windows\System32\shutdown.exe" /a'] exited with '1116'
I just don't see what it didn't like. Is there any way to get further debugging info about why it blows up? Or how can I manually walk through the package installation?
Note: In my chocolateyinstall.ps1, I do a "reg import ..." command which IS working. So I'm pretty sure it's the "Install-ChocolateyInstallPackage ..." command that's failing.
setup.exe /s /v/qn
cinst bigfix -s ordchoco