[Python-checkins] python/nondist/sandbox/msi msi.py, 1.31, 1.32 msilib.py, 1.13, 1.14

loewis at users.sourceforge.net loewis at users.sourceforge.net
Tue Aug 17 15:47:06 CEST 2004


Update of /cvsroot/python/python/nondist/sandbox/msi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24155

Modified Files:
	msi.py msilib.py 
Log Message:
Fix maintenance form. Don't offer advertisement of test suite.
Don't always follow parent.

Index: msi.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/msi/msi.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** msi.py	17 Aug 2004 12:59:58 -0000	1.31
--- msi.py	17 Aug 2004 13:46:39 -0000	1.32
***************
*** 678,688 ****
      c.event("[Progress1]", "Change", 'MaintenanceForm_Action="Change"', 1)
      c.event("[Progress2]", "changes", 'MaintenanceForm_Action="Change"', 2)
!     c.event("NewDialog", "SelectFeaturesDlg", 'MaintenanceForm_Action="Change"', 3)
      # Reinstall: Change progress dialog to "Repair", then invoke reinstall
      # Also set list of reinstalled features to "ALL"
!     c.event("[REINSTALL]", "ALL", 'MaintenanceForm_Action="Repair"', 4)
!     c.event("[Progress1]", "Repairing", 'MaintenanceForm_Action="Repair"', 5)
!     c.event("[Progress2]", "repaires", 'MaintenanceForm_Action="Repair"', 6)
!     c.event("Reinstall", "ALL", 'MaintenanceForm_Action="Repair"', 7)
  
      # Uninstall: Change progress to "Remove", then invoke uninstall
--- 678,688 ----
      c.event("[Progress1]", "Change", 'MaintenanceForm_Action="Change"', 1)
      c.event("[Progress2]", "changes", 'MaintenanceForm_Action="Change"', 2)
! 
      # Reinstall: Change progress dialog to "Repair", then invoke reinstall
      # Also set list of reinstalled features to "ALL"
!     c.event("[REINSTALL]", "ALL", 'MaintenanceForm_Action="Repair"', 5)
!     c.event("[Progress1]", "Repairing", 'MaintenanceForm_Action="Repair"', 6)
!     c.event("[Progress2]", "repaires", 'MaintenanceForm_Action="Repair"', 7)
!     c.event("Reinstall", "ALL", 'MaintenanceForm_Action="Repair"', 8)
  
      # Uninstall: Change progress to "Remove", then invoke uninstall
***************
*** 694,698 ****
  
      # Close dialog when maintenance action scheduled    
!     c.event("EndDialog", "Return", order=20)
              
      maint.cancel("Cancel", "RepairRadioGroup").event("SpawnDialog", "CancelDlg")
--- 694,699 ----
  
      # Close dialog when maintenance action scheduled    
!     c.event("EndDialog", "Return", 'MaintenanceForm_Action<>"Change"', 20)
!     c.event("NewDialog", "SelectFeaturesDlg", 'MaintenanceForm_Action="Change"', 21)
              
      maint.cancel("Cancel", "RepairRadioGroup").event("SpawnDialog", "CancelDlg")
***************
*** 704,724 ****
  # column.
  def add_features(db):
      global default_feature, tcltk, htmlfiles, tools, testsuite, ext_feature
      default_feature = Feature(db, "DefaultFeature", "Python",
                                "Python Interpreter and Libraries",
                                1, directory = "TARGETDIR")
      ext_feature = Feature(db, "Extensions", "Register Extensions",
                            "Make this Python installation the default Python installation", 3,
                           parent = default_feature)
      tcltk = Feature(db, "TclTk", "Tcl/Tk", "Tkinter, IDLE, pydoc", 5,
!                     parent = default_feature)
      htmlfiles = Feature(db, "Documentation", "Documentation",
                          "Python HTMLHelp File", 7, parent = default_feature)
      tools = Feature(db, "Tools", "Utility Scripts",
                      "Python utility scripts (Tools/", 9, 
!                     parent = default_feature)
      testsuite = Feature(db, "Testsuite", "Test suite",
                          "Python test suite (Lib/test/)", 11,
!                         parent = default_feature)
      
  
--- 705,742 ----
  # column.
  def add_features(db):
+     # feature attributes:
+     # msidbFeatureAttributesFollowParent == 2
+     # msidbFeatureAttributesDisallowAdvertise == 8
+     # Features that need to be installed with together with the main feature
+     # (i.e. additional Python libraries) need to follow the parent feature.
+     # Features that have no advertisement trigger (e.g. the test suite)
+     # must not support advertisement
      global default_feature, tcltk, htmlfiles, tools, testsuite, ext_feature
      default_feature = Feature(db, "DefaultFeature", "Python",
                                "Python Interpreter and Libraries",
                                1, directory = "TARGETDIR")
+     # The extensions feature is tricky wrt. advertisement and follow parent.
+     # The following combinations must be supported:
+     # default feature         extensions                       effect on extensions
+     # locally/from source     locally/from source              registered
+     # advertised              advertised/locally/from source   advertised
+     # locally/from source     not installed                    not installed
+     # advertised              not installed                    not advertised
+     #                                                          (only shortcuts are)
+     # The following combination might be considered meaningless, but cannot be excluded
+     # locally/from source     advertised                       registered
      ext_feature = Feature(db, "Extensions", "Register Extensions",
                            "Make this Python installation the default Python installation", 3,
                           parent = default_feature)
      tcltk = Feature(db, "TclTk", "Tcl/Tk", "Tkinter, IDLE, pydoc", 5,
!                     parent = default_feature, attributes=2)
      htmlfiles = Feature(db, "Documentation", "Documentation",
                          "Python HTMLHelp File", 7, parent = default_feature)
      tools = Feature(db, "Tools", "Utility Scripts",
                      "Python utility scripts (Tools/", 9, 
!                     parent = default_feature, attributes=2)
      testsuite = Feature(db, "Testsuite", "Test suite",
                          "Python test suite (Lib/test/)", 11,
!                         parent = default_feature, attributes=2|8)
      
  

Index: msilib.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/msi/msilib.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** msilib.py	17 Aug 2004 12:56:03 -0000	1.13
--- msilib.py	17 Aug 2004 13:46:39 -0000	1.14
***************
*** 564,572 ****
  class Feature:
      def __init__(self, db, id, title, desc, display, level = 1,
!                  parent=None, directory = None):
          self.id = id
-         attributes = 0
          if parent:
-             attributes |= 2 # follow parent
              parent = parent.id
          add_data(db, "Feature",
--- 564,570 ----
  class Feature:
      def __init__(self, db, id, title, desc, display, level = 1,
!                  parent=None, directory = None, attributes=0):
          self.id = id
          if parent:
              parent = parent.id
          add_data(db, "Feature",



More information about the Python-checkins mailing list