#At file:///D:/Work/MySQL/installer/ based on revid:mike.lischke@stripped
459 Mike Lischke 2011-05-09
Product and feature installation state initialization simplyfied and now applied to all features, regardless of their nesting level. This solves the problem of determining change requests for a product and its features.
modified:
WexInstaller.Core/Package.cs
=== modified file 'WexInstaller.Core/Package.cs'
=== modified file 'WexInstaller.Core/Package.cs'
--- a/WexInstaller.Core/Package.cs 2011-04-18 08:06:38 +0000
+++ b/WexInstaller.Core/Package.cs 2011-05-09 10:01:59 +0000
@@ -364,32 +364,19 @@
{
if (FeatureCode.Length > 0)
{
- foreach (ProductFeature pf in Features)
+ foreach (ProductFeature feature in AllFeatures)
{
- if (pf.Name == FeatureCode.ToString())
+ if (feature.Name == FeatureCode.ToString())
{
InstallState currentState = MsiInterop.MsiQueryFeatureState(Id, FeatureCode.ToString());
- pf.Installed = (currentState == InstallState.Local);
- pf.ProposedInstalled = pf.Installed;
+ feature.Installed = (currentState == InstallState.Local);
+ feature.ProposedInstalled = feature.Installed;
break;
- }
- if (ParentCode.Length > 0 && (pf.Name == ParentCode.ToString()))
- {
- foreach (ProductFeature cf in pf.Features)
- {
- if (cf.Name == FeatureCode.ToString())
- {
- InstallState currentState = MsiInterop.MsiQueryFeatureState(Id, FeatureCode.ToString());
- cf.Installed = (currentState == InstallState.Local);
- cf.ProposedInstalled = cf.Installed;
- break;
- }
- }
}
}
- ParentCode.Remove(0, ParentCode.Length);
- FeatureCode.Remove(0, FeatureCode.Length);
+ ParentCode.Length = 0;
+ FeatureCode.Length = 0;
}
try
Attachment: [text/bzr-bundle] bzr/mike.lischke@oracle.com-20110509100159-3somds9rvy8axwno.bundle
| Thread |
|---|
| • bzr commit into wex-installer-1.0 branch (mike.lischke:459) | Mike Lischke | 9 May |