@@ -71,22 +71,22 @@ AppContentSummary latestVersionContentSummary
7171 checkIntegrity . Prepare ( _status ) ;
7272 checkIntegrity . Execute ( cancellationToken ) ;
7373
74- int missingFilesCount = checkIntegrity . Results . Files
75- . Select ( f => f . Status == FileIntegrityStatus . MissingData )
76- . Count ( ) ;
74+ var missingFiles = checkIntegrity . Results . Files
75+ . Select ( f => f . Status == FileIntegrityStatus . MissingData ) ;
76+
77+ int missingFilesCount = missingFiles . Count ( ) ;
7778
78- int invalidSizeFilesCount = checkIntegrity . Results . Files
79- . Select ( f => f . Status == FileIntegrityStatus . InvalidSize )
80- . Count ( ) ;
79+ var invalidSizeFiles = checkIntegrity . Results . Files
80+ . Select ( f => f . Status == FileIntegrityStatus . InvalidSize ) ;
81+
82+ int invalidSizeFilesCount = invalidSizeFiles . Count ( ) ;
8183
8284 if ( missingFilesCount + invalidSizeFilesCount == 0 )
8385 {
8486 DebugLogger . Log ( "No missing or invalid size files." ) ;
8587 return ;
8688 }
8789
88- var repairStrategy = new AppUpdaterRepairAndDiffStrategy ( Context , _status , performDiff : false ) ;
89-
9090 double repairCost = ( missingFilesCount + invalidSizeFilesCount ) * 2 ;
9191 if ( isNewVersionAvailable )
9292 {
@@ -100,11 +100,15 @@ AppContentSummary latestVersionContentSummary
100100 if ( repairCost < contentSize )
101101 {
102102 DebugLogger . Log ( string . Format ( "Repair cost {0} is smaller than content cost {1}, repairing..." , repairCost , contentSize ) ) ;
103+ IAppUpdaterStrategy repairStrategy = _strategyResolver . Create ( StrategyType . RepairAndDiff , Context ) ;
103104 repairStrategy . Update ( cancellationToken ) ;
104105 }
105106 else
106107 {
107- DebugLogger . Log ( "Content cost is smaller than repair." ) ;
108+ DebugLogger . Log ( "Content cost is smaller than repair. Uninstalling to prepare for content strategy." ) ;
109+ IUninstallCommand uninstall = commandFactory . CreateUninstallCommand ( Context ) ;
110+ uninstall . Prepare ( _status ) ;
111+ uninstall . Execute ( cancellationToken ) ;
108112 }
109113 }
110114
0 commit comments