< Back

Uninstall-MSIProduct

Sat Jan 18, 2020 4:46 pm

NAME Uninstall-MSIProduct



SYNOPSIS

Uninstalls a product package or packages, or an existing product on the machine.





SYNTAX

Uninstall-MSIProduct [-Chain] [-Force] -LiteralPath <String[]> [-Log <String>] [-Properties <String[]>]

[-ResultVariable <String>] [<CommonParameters>]



Uninstall-MSIProduct [-Path] <String[]> [-Chain] [-Force] [-Log <String>] [-Properties <String[]>]

[-ResultVariable <String>] [<CommonParameters>]



Uninstall-MSIProduct [-Chain] [-Force] [-Log <String>] -Product <ProductInstallation[]> [-Properties <String[]>]

[-ResultVariable <String>] [<CommonParameters>]



Uninstall-MSIProduct [-Chain] [-Force] [-Log <String>] -ProductCode <String[]> [-Properties <String[]>]

[-ResultVariable <String>] [<CommonParameters>]





DESCRIPTION

This cmdlet, unlike related cmdlets, is designed to uninstalled one or more products. While there are ways to

override this behavior, it is not recommend and you should instead use specialized cmdlets for this purpose. See

the related links for suggestions.



Progress, warnings, and errors during the install are sent through the pipeline making this command fully

integrated.





PARAMETERS

-Chain [<SwitchParameter>]

Whether to install all packages together. If elevated, a single restore point is created for all packages in

the chain and reboots are suppressed when possible.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-Force [<SwitchParameter>]

Whether to suppress all prompts.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-LiteralPath <String[]>

The path to a product package to uninstall. The value of -LiteralPath is used exactly as typed. No characters

are interpreted as wildcards.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Log <String>

The path to the log file. This use the file name as the base name and will append timestamp and

product-specific information.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Path <String[]>

The path to a product package to uninstall. Wildcards are permitted. You can specify * in any part of the path

to select all matching files.



Required? true

Position? 0

Default value None

Accept pipeline input? True (ByPropertyName, ByValue)

Accept wildcard characters? true



-Product <ProductInstallation[]>

The product to uninstall.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByValue)

Accept wildcard characters? false



-ProductCode <String[]>

The ProductCode of a product to uninstall.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Properties <String[]>

Additional property=value pairs to pass during uninstall.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-ResultVariable <String>

The name of a variable to store operation results. Optionally prefix with "+" to combine results with existing

results variable.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



INPUTS

Microsoft.Deployment.WindowsInstaller.ProductInstallation







OUTPUTS



NOTES









-------------------------- EXAMPLE 1 --------------------------



uninstall-msiproduct .\\example.msi -log $env:TEMP\\uninstall.log



Uninstall the example.msi product package and log to the TEMP directory.

-------------------------- EXAMPLE 2 --------------------------



get-msiproductinfo -name *TEST* | uninstall-msiproduct -chain



Uninstall all products with ProductName matching TEST and show a single progress bar for the entire operation.



RELATED LINKS

Install-MSIProduct

Repair-MSIProduct