xPSDesiredStateConfiguration icon indicating copy to clipboard operation
xPSDesiredStateConfiguration copied to clipboard

MSFT_xMsiPackage.psm1 and MSFT_xPackageResource.psm1: Consolidate Common Helper Functions

Open mhendric opened this issue 6 years ago • 3 comments

Details of the scenario you tried and the problem that is occurring

MSFT_xMsiPackage.psm1 and MSFT_xPackageResource.psm1 have a number of identical helper functions (like Invoke-PInvoke and Invoke-Process). These should be consolidated into single common helper functions.

Version of the DSC module that was used ('dev' if using current dev branch)

dev

mhendric avatar Feb 16 '19 16:02 mhendric

Here's an inventory of all functions with duplicate names throughout the DSCResources folder:

Get-TargetResourceOnFullSKU: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Convert-ProductIdToIdentifyingNumber: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Convert-PathToUri: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Set-TargetResourceOnNanoServer: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Set-TargetResourceOnFullSKU: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Get-MsiTool: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Close-Stream: DscResources\MSFT_xArchive\MSFT_xArchive.psm1 DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1

Get-MsiProductCode: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Register-PInvoke: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Get-TargetResourceOnNanoServer: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Test-TargetResourceOnFullSKU: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Test-TargetResourceOnNanoServer: DscResources\MSFT_xGroupResource\MSFT_xGroupResource.psm1 DscResources\MSFT_xUserResource\MSFT_xUserResource.psm1

Get-ProductEntry: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Assert-FileSignatureValid: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Invoke-PInvoke: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Invoke-Process: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Assert-FileValid: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Assert-PathExtensionValid: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

Assert-FileHashValid: DscResources\MSFT_xMsiPackage\MSFT_xMsiPackage.psm1 DscResources\MSFT_xPackageResource\MSFT_xPackageResource.psm1

mhendric avatar Feb 17 '19 03:02 mhendric

Great summary @mhendric - now to determine if they actually share the same function :grin: Any that have different function will have to remain in the resource module - unless they can be refactored I guess. I'm thinking the -TargetResourceFor will have to remain in the Resource modules because I'm pretty sure they have different functions.

PlagueHO avatar Feb 17 '19 04:02 PlagueHO

I got this one.

mhendric avatar Feb 23 '19 23:02 mhendric