@@ -605,6 +605,7 @@ public virtual ConcurrentDictionary<string, PackageResult> Install(ChocolateyCon
605
605
if ( installedPackage != null && ( version == null || version == installedPackage . PackageMetadata . Version ) && ! config . Force )
606
606
{
607
607
var logMessage = "{0} v{1} already installed.{2} Use --force to reinstall, specify a version to install, or try upgrade." . FormatWith ( installedPackage . Name , installedPackage . Version , Environment . NewLine ) ;
608
+ // We need a temporary PackageResult so that we can add to the Messages collection.
608
609
var nullResult = packageResultsToReturn . GetOrAdd ( packageName , installedPackage ) ;
609
610
nullResult . Messages . Add ( new ResultMessage ( ResultType . Warn , logMessage ) ) ;
610
611
nullResult . Messages . Add ( new ResultMessage ( ResultType . Inconclusive , logMessage ) ) ;
@@ -626,8 +627,8 @@ public virtual ConcurrentDictionary<string, PackageResult> Install(ChocolateyCon
626
627
if ( installedPackage != null && version != null && version < installedPackage . PackageMetadata . Version && ! config . AllowDowngrade )
627
628
{
628
629
var logMessage = StringResources . ErrorMessages . UnableToDowngrade . FormatWith ( installedPackage . Name , installedPackage . Version , Environment . NewLine ) ;
629
- var nullResult = packageResultsToReturn . GetOrAdd ( packageName , installedPackage ) ;
630
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
630
+ packageResultsToReturn . GetOrAdd ( packageName , installedPackage )
631
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
631
632
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
632
633
continue ;
633
634
}
@@ -803,9 +804,12 @@ Version was specified as '{0}'. It is possible that version
803
804
if ( packageDependencyInfo != null && packageResultsToReturn . Any ( r => r . Value . Success != true && packageDependencyInfo . Dependencies . Any ( d => d . Id == r . Value . Identity . Id ) ) )
804
805
{
805
806
var logMessage = StringResources . ErrorMessages . DependencyFailedToInstall . FormatWith ( packageDependencyInfo . Id ) ;
806
- var x = new PackageResult ( packageDependencyInfo . Id , packageDependencyInfo . Version . ToStringSafe ( ) , string . Empty ) ;
807
- var nullResult = packageResultsToReturn . GetOrAdd ( packageDependencyInfo . Id , x ) ;
808
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
807
+ packageResultsToReturn
808
+ . GetOrAdd (
809
+ packageDependencyInfo . Id ,
810
+ new PackageResult ( packageDependencyInfo . Id , packageDependencyInfo . Version . ToStringSafe ( ) , string . Empty )
811
+ )
812
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
809
813
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
810
814
811
815
if ( config . Features . StopOnFirstPackageFailure )
@@ -836,8 +840,8 @@ Version was specified as '{0}'. It is possible that version
836
840
if ( ! config . AllowDowngrade && packageToUninstall . Identity . HasVersion && packageDependencyInfo . HasVersion && packageDependencyInfo . Version < packageToUninstall . Identity . Version )
837
841
{
838
842
var logMessage = StringResources . ErrorMessages . UnableToDowngrade . FormatWith ( packageToUninstall . Name , packageToUninstall . Version , Environment . NewLine ) ;
839
- var nullResult = packageResultsToReturn . GetOrAdd ( packageToUninstall . Name , packageToUninstall ) ;
840
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
843
+ packageResultsToReturn . GetOrAdd ( packageToUninstall . Name , packageToUninstall )
844
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
841
845
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
842
846
843
847
if ( config . Features . StopOnFirstPackageFailure )
@@ -1184,8 +1188,8 @@ public virtual ConcurrentDictionary<string, PackageResult> Upgrade(ChocolateyCon
1184
1188
if ( version != null && version < installedPackage . PackageMetadata . Version && ! config . AllowDowngrade )
1185
1189
{
1186
1190
var logMessage = StringResources . ErrorMessages . UnableToDowngrade . FormatWith ( installedPackage . PackageMetadata . Id , installedPackage . Version , Environment . NewLine ) ;
1187
- var nullResult = packageResultsToReturn . GetOrAdd ( packageName , new PackageResult ( installedPackage . PackageMetadata , pathResolver . GetInstallPath ( installedPackage . PackageMetadata . Id ) ) ) ;
1188
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1191
+ packageResultsToReturn . GetOrAdd ( packageName , new PackageResult ( installedPackage . PackageMetadata , pathResolver . GetInstallPath ( installedPackage . PackageMetadata . Id ) ) )
1192
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1189
1193
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
1190
1194
continue ;
1191
1195
}
@@ -1608,9 +1612,11 @@ public virtual ConcurrentDictionary<string, PackageResult> Upgrade(ChocolateyCon
1608
1612
if ( packageResultsToReturn . Any ( r => r . Value . Success != true && packageDependencyInfo . Dependencies . Any ( d => d . Id == r . Value . Identity . Id ) ) )
1609
1613
{
1610
1614
var logMessage = StringResources . ErrorMessages . DependencyFailedToInstall . FormatWith ( packageDependencyInfo . Id , packageDependencyInfo . Version ) ;
1611
- var x = new PackageResult ( packageDependencyInfo . Id , packageDependencyInfo . Version . ToStringSafe ( ) , string . Empty ) ;
1612
- var nullResult = packageResultsToReturn . GetOrAdd ( packageDependencyInfo . Id , x ) ;
1613
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1615
+ packageResultsToReturn . GetOrAdd (
1616
+ packageDependencyInfo . Id ,
1617
+ new PackageResult ( packageDependencyInfo . Id , packageDependencyInfo . Version . ToStringSafe ( ) , string . Empty )
1618
+ )
1619
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1614
1620
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
1615
1621
1616
1622
if ( config . Features . StopOnFirstPackageFailure )
@@ -1642,8 +1648,8 @@ public virtual ConcurrentDictionary<string, PackageResult> Upgrade(ChocolateyCon
1642
1648
if ( ! config . AllowDowngrade && packageToUninstall . Identity . HasVersion && packageDependencyInfo . HasVersion && packageDependencyInfo . Version < packageToUninstall . Identity . Version )
1643
1649
{
1644
1650
var logMessage = StringResources . ErrorMessages . UnableToDowngrade . FormatWith ( packageToUninstall . Name , packageToUninstall . Version , Environment . NewLine ) ;
1645
- var nullResult = packageResultsToReturn . GetOrAdd ( packageToUninstall . Name , packageToUninstall ) ;
1646
- nullResult . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1651
+ packageResultsToReturn . GetOrAdd ( packageToUninstall . Name , packageToUninstall )
1652
+ . Messages . Add ( new ResultMessage ( ResultType . Error , logMessage ) ) ;
1647
1653
this . Log ( ) . Error ( ChocolateyLoggers . Important , logMessage ) ;
1648
1654
1649
1655
if ( config . Features . StopOnFirstPackageFailure )
@@ -1655,7 +1661,7 @@ public virtual ConcurrentDictionary<string, PackageResult> Upgrade(ChocolateyCon
1655
1661
}
1656
1662
1657
1663
// Package was previously marked inconclusive (not upgraded). We need remove the message since we are now upgrading it.
1658
- // Packages that are inconclusive but successfull are not labeled as successful at the end of the run.
1664
+ // Packages that are inconclusive but successful are not labeled as successful at the end of the run.
1659
1665
var checkResult = packageResultsToReturn . GetOrAdd ( packageToUninstall . Name , packageToUninstall ) ;
1660
1666
1661
1667
while ( checkResult . Inconclusive )
0 commit comments