diff --git a/Tools/bgen/bgen/bgenGenerator.py b/Tools/bgen/bgen/bgenGenerator.py
index d55b4a4..bf00516 100644
--- a/Tools/bgen/bgen/bgenGenerator.py
+++ b/Tools/bgen/bgen/bgenGenerator.py
@@ -88,7 +88,7 @@
     res = '"'
     map = _stringify_map
     for c in str:
-        if map.has_key(c): res = res + map[c]
+        if c in map: res = res + map[c]
         elif ' ' <= c <= '~': res = res + c
         else: res = res + '\\%03o' % ord(c)
     res = res + '"'
diff --git a/Tools/bgen/bgen/bgenOutput.py b/Tools/bgen/bgen/bgenOutput.py
index bceac59..d84e50e 100644
--- a/Tools/bgen/bgen/bgenOutput.py
+++ b/Tools/bgen/bgen/bgenOutput.py
@@ -182,7 +182,7 @@
             line = line[n:]
         else:
             for c in indent:
-                if line[:1] <> c: break
+                if line[:1] != c: break
                 line = line[1:]
         VaOutput("%s", line)
 
diff --git a/Tools/bgen/bgen/scantools.py b/Tools/bgen/bgen/scantools.py
index d03bc93..96f375d 100644
--- a/Tools/bgen/bgen/scantools.py
+++ b/Tools/bgen/bgen/scantools.py
@@ -126,23 +126,20 @@
         self.usedtypes = {}
 
     def typeused(self, type, mode):
-        if not self.usedtypes.has_key(type):
+        if type not in self.usedtypes:
             self.usedtypes[type] = {}
         self.usedtypes[type][mode] = None
 
     def reportusedtypes(self):
-        types = self.usedtypes.keys()
-        types.sort()
+        types = sorted(self.usedtypes.keys())
         for type in types:
-            modes = self.usedtypes[type].keys()
-            modes.sort()
+            modes = sorted(self.usedtypes[type].keys())
             self.report("%s %s", type, " ".join(modes))
 
     def gentypetest(self, file):
         fp = open(file, "w")
         fp.write("types=[\n")
-        types = self.usedtypes.keys()
-        types.sort()
+        types = sorted(self.usedtypes.keys())
         for type in types:
             fp.write("\t'%s',\n"%type)
         fp.write("]\n")
@@ -236,7 +233,7 @@
             if i >= 0: line = line[:i]
             words = [s.strip() for s in line.split(':')]
             if words == ['']: continue
-            if len(words) <> 3:
+            if len(words) != 3:
                 print("Line", startlineno, end=' ')
                 print(": bad line (not 3 colon-separated fields)")
                 print(repr(line))
@@ -703,7 +700,7 @@
         return arglist
 
     def matcharg(self, patarg, arg):
-        return len(filter(None, map(fnmatch.fnmatchcase, arg, patarg))) == 3
+        return len(f for f in map(fnmatch.fnmatchcase, arg, patarg) if f) == 3
 
     def substituteargs(self, pattern, replacement, old):
         new = []
@@ -739,7 +736,7 @@
             self.typeused(atype, amode)
             self.specfile.write("    (%s, %r, %s),\n" %
                                 (atype, aname, amode))
-        if self.greydictnames.has_key(name):
+        if name in self.greydictnames:
             self.specfile.write("    condition=%r,\n"%(self.greydictnames[name],))
         self.generatemodifiers(classname, name, modifiers)
         self.specfile.write(")\n")
diff --git a/Tools/faqwiz/faqwiz.py b/Tools/faqwiz/faqwiz.py
index 6bfe354..15342f1 100644
--- a/Tools/faqwiz/faqwiz.py
+++ b/Tools/faqwiz/faqwiz.py
@@ -120,7 +120,7 @@
         logfile.close()
 
 def load_cookies():
-    if not os.environ.has_key('HTTP_COOKIE'):
+    if 'HTTP_COOKIE' not in os.environ:
         return {}
     raw = os.environ['HTTP_COOKIE']
     words = [s.strip() for s in raw.split(';')]
@@ -359,7 +359,7 @@
         self.open(file).show(edit=edit)
 
     def new(self, section):
-        if not SECTION_TITLES.has_key(section):
+        if section not in SECTION_TITLES:
             raise NoSuchSection(section)
         maxnum = 0
         for file in self.list():
@@ -426,11 +426,11 @@
             query = re.escape(query)
             queries = [query]
         elif self.ui.querytype in ('anykeywords', 'allkeywords'):
-            words = filter(None, re.split('\W+', query))
+            words = [_f for _f in re.split('\W+', query) if _f]
             if not words:
                 self.error("No keywords specified!")
                 return
-            words = map(lambda w: r'\b%s\b' % w, words)
+            words = [r'\b%s\b' % w for w in words]
             if self.ui.querytype[:3] == 'any':
                 queries = ['|'.join(words)]
             else:
@@ -577,7 +577,7 @@
             emit(ONE_RECENT, period=period)
         else:
             emit(SOME_RECENT, period=period, count=len(list))
-        self.format_all(map(lambda (mtime, file): file, list), headers=0)
+        self.format_all([mtime_file[1] for mtime_file in list], headers=0)
         emit(TAIL_RECENT)
 
     def do_roulette(self):
@@ -603,8 +603,7 @@
     def do_add(self):
         self.prologue(T_ADD)
         emit(ADD_HEAD)
-        sections = SECTION_TITLES.items()
-        sections.sort()
+        sections = sorted(SECTION_TITLES.items())
         for section, title in sections:
             emit(ADD_SECTION, section=section, title=title)
         emit(ADD_TAIL)
diff --git a/Tools/framer/framer/bases.py b/Tools/framer/framer/bases.py
index 99d47d1..d9c99db 100644
--- a/Tools/framer/framer/bases.py
+++ b/Tools/framer/framer/bases.py
@@ -10,11 +10,6 @@
 
 from types import FunctionType
 
-def sortitems(dict):
-    L = dict.items()
-    L.sort()
-    return L
-
 # The Module and Type classes are implemented using metaclasses,
 # because most of the methods are class methods.  It is easier to use
 # metaclasses than the cumbersome classmethod() builtin.  They have
@@ -32,7 +27,7 @@
         if not functions:
             return
         p(template.methoddef_start)
-        for name, func in sortitems(functions):
+        for name, func in sorted(functions.items()):
             if func.__doc__:
                 p(template.methoddef_def_doc, func.vars)
             else:
@@ -55,7 +50,7 @@
         self.__types = {}
         self.__members = False
 
-        for name, obj in self.__dict__.iteritems():
+        for name, obj in self.__dict__.items():
             if isinstance(obj, FunctionType):
                 self.__functions[name] = Function(obj, self)
             elif isinstance(obj, TypeMetaclass):
@@ -87,16 +82,16 @@
         if self.__doc__:
             p(template.module_doc)
 
-        for name, type in sortitems(self.__types):
+        for name, type in sorted(self.__types.items()):
             type.dump(f)
 
-        for name, func  in sortitems(self.__functions):
+        for name, func  in sorted(self.__functions.items()):
             func.dump(f)
 
         self.dump_methoddef(f, self.__functions, self.__vars)
 
         p(template.module_init_start)
-        for name, type in sortitems(self.__types):
+        for name, type in sorted(self.__types.items()):
             type.dump_init(f)
 
         p("}")
@@ -119,7 +114,7 @@
         if self.__doc__:
             p(template.docstring)
 
-        for name, func in sortitems(self.__methods):
+        for name, func in sorted(self.__methods.items()):
             func.dump(f)
 
         self.dump_methoddef(f, self.__methods, self.__vars)
@@ -143,7 +138,7 @@
         self.__methods = {}
         self.__members = {}
         for cls in self.__mro__:
-            for k, v in cls.__dict__.iteritems():
+            for k, v in cls.__dict__.items():
                 if isinstance(v, FunctionType):
                     self.__methods[k] = Method(v, self)
                 if isinstance(v, member):
@@ -190,7 +185,7 @@
         if not self.__members:
             return
         p(template.memberdef_start)
-        for name, slot in sortitems(self.__members):
+        for name, slot in sorted(self.__members.items()):
             slot.dump(f)
         p(template.memberdef_end)
 
diff --git a/Tools/framer/framer/function.py b/Tools/framer/framer/function.py
index 51ef861..f95ea20 100644
--- a/Tools/framer/framer/function.py
+++ b/Tools/framer/framer/function.py
@@ -45,7 +45,7 @@
     fmt = None
 
     def __init__(self, args):
-        self.args = map(Argument, args)
+        self.args = list(map(Argument, args))
 
     def __len__(self):
         return len(self.args)
@@ -99,15 +99,15 @@
             print("        %s" % a.decl(), file=f)
 
 def ArgumentList(func, method):
-    code = func.func_code
+    code = func.__code__
     args = code.co_varnames[:code.co_argcount]
     if method:
         args = args[1:]
     pyarg = getattr(func, "pyarg", None)
     if pyarg is not None:
         args = VarArgs(args, pyarg)
-        if func.func_defaults:
-            L = list(func.func_defaults)
+        if func.__defaults__:
+            L = list(func.__defaults__)
             ndefault = len(L)
             i = len(args) - ndefault
             while L:
diff --git a/Tools/framer/framer/struct.py b/Tools/framer/framer/struct.py
index 1289f24..8fc2aec 100644
--- a/Tools/framer/framer/struct.py
+++ b/Tools/framer/framer/struct.py
@@ -25,7 +25,7 @@
     The parser is very restricted in what it will accept.
     """
 
-    lines = filter(None, s.split("\n")) # get non-empty lines
+    lines = [_f for _f in s.split("\n") if _f] # get non-empty lines
     assert lines[0].strip() == "typedef struct {"
     pyhead = lines[1].strip()
     assert (pyhead.startswith("PyObject") and
diff --git a/Tools/framer/framer/structparse.py b/Tools/framer/framer/structparse.py
index f24c0da..cf4224b 100644
--- a/Tools/framer/framer/structparse.py
+++ b/Tools/framer/framer/structparse.py
@@ -19,7 +19,7 @@
     The parser is very restricted in what it will accept.
     """
 
-    lines = filter(None, s.split("\n")) # get non-empty lines
+    lines = [_f for _f in s.split("\n") if _f] # get non-empty lines
     assert lines[0].strip() == "typedef struct {"
     pyhead = lines[1].strip()
     assert (pyhead.startswith("PyObject") and
diff --git a/Tools/freeze/checkextensions.py b/Tools/freeze/checkextensions.py
index 334521f..c18af78 100644
--- a/Tools/freeze/checkextensions.py
+++ b/Tools/freeze/checkextensions.py
@@ -18,7 +18,7 @@
     for mod in unknown:
         for e in extensions:
             (mods, vars), liba = edict[e]
-            if not mods.has_key(mod):
+            if mod not in mods:
                 continue
             modules.append(mod)
             if liba:
@@ -28,7 +28,7 @@
                 if liba in files:
                     break
                 files.append(liba)
-                for m in mods.keys():
+                for m in list(mods.keys()):
                     files = files + select(e, mods, vars,
                                            m, 1)
                 break
@@ -84,7 +84,7 @@
                 break
             var = str[i:j]
             i = j+1
-        if vars.has_key(var):
+        if var in vars:
             str = str[:k] + vars[var] + str[i:]
             i = k
     return str
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index d1e024f..a7673c9 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -460,7 +460,7 @@
     somevars = {}
     if os.path.exists(makefile_in):
         makevars = parsesetup.getmakevars(makefile_in)
-        for key in makevars.keys():
+        for key in makevars:
             somevars[key] = makevars[key]
 
     somevars['CFLAGS'] = ' '.join(cflags) # override
diff --git a/Tools/i18n/makelocalealias.py b/Tools/i18n/makelocalealias.py
index f97b80e..45876c1 100644
--- a/Tools/i18n/makelocalealias.py
+++ b/Tools/i18n/makelocalealias.py
@@ -45,18 +45,14 @@
     return data
 
 def pprint(data):
-
-    items = data.items()
-    items.sort()
-    for k,v in items:
+    items = sorted(data.items())
+    for k, v in items:
         print('    %-40s%r,' % ('%r:' % k, v))
 
 def print_differences(data, olddata):
-
-    items = olddata.items()
-    items.sort()
+    items = sorted(olddata.items())
     for k, v in items:
-        if not data.has_key(k):
+        if k not in data:
             print('#    removed %r' % k)
         elif olddata[k] != data[k]:
             print('#    updated %r -> %r to %r' % \
diff --git a/Tools/i18n/msgfmt.py b/Tools/i18n/msgfmt.py
index f4466b4..860e4ea 100755
--- a/Tools/i18n/msgfmt.py
+++ b/Tools/i18n/msgfmt.py
@@ -56,9 +56,8 @@
 def generate():
     "Return the generated output."
     global MESSAGES
-    keys = MESSAGES.keys()
     # the keys are sorted in the .mo file
-    keys.sort()
+    keys = sorted(MESSAGES.keys())
     offsets = []
     ids = strs = ''
     for id in keys:
diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py
index 4f0866e..d4ea597 100755
--- a/Tools/i18n/pygettext.py
+++ b/Tools/i18n/pygettext.py
@@ -265,7 +265,7 @@
 def _visit_pyfiles(list, dirname, names):
     """Helper for getFilesForName()."""
     # get extension for python source files
-    if not globals().has_key('_py_ext'):
+    if '_py_ext' not in globals():
         global _py_ext
         _py_ext = [triple[0] for triple in imp.get_suffixes()
                    if triple[2] == imp.PY_SOURCE][0]
diff --git a/Tools/modulator/ScrolledListbox.py b/Tools/modulator/ScrolledListbox.py
index 8bb5738..2ec646d 100644
--- a/Tools/modulator/ScrolledListbox.py
+++ b/Tools/modulator/ScrolledListbox.py
@@ -19,7 +19,7 @@
         fcnf = {}
         vcnf = {'name': 'vbar',
             Pack: {'side': 'right', 'fill': 'y'},}
-        for k in cnf.keys():
+        for k in list(cnf.keys()):
             if type(k) == ClassType or k == 'name':
                 fcnf[k] = cnf[k]
                 del cnf[k]
@@ -32,6 +32,6 @@
         self.vbar['command'] = (self, 'yview')
 
         # Copy Pack methods of self.frame -- hack!
-        for m in Pack.__dict__.keys():
+        for m in Pack.__dict__:
             if m[0] != '_' and m != 'config':
                 setattr(self, m, getattr(self.frame, m))
diff --git a/Tools/modulator/genmodule.py b/Tools/modulator/genmodule.py
index 7df3983..f8703ef 100755
--- a/Tools/modulator/genmodule.py
+++ b/Tools/modulator/genmodule.py
@@ -40,7 +40,7 @@
 
     def makesubst(self):
         if not self._subst:
-            if not self.__dict__.has_key('abbrev'):
+            if 'abbrev' not in self.__dict__:
                 self.abbrev = self.name
             self.Abbrev = self.abbrev[0].upper()+self.abbrev[1:]
             subst = varsubst.Varsubst(self.__dict__)
diff --git a/Tools/modulator/modulator.py b/Tools/modulator/modulator.py
index d4b8510..d719649 100755
--- a/Tools/modulator/modulator.py
+++ b/Tools/modulator/modulator.py
@@ -17,7 +17,7 @@
 #
 
 import sys, os
-if os.name <> 'mac':
+if os.name != 'mac':
     sys.path.append(os.path.join(os.environ['HOME'],
                                  'src/python/Tools/modulator'))
 
diff --git a/Tools/modulator/varsubst.py b/Tools/modulator/varsubst.py
index 473fb55..4b68512 100644
--- a/Tools/modulator/varsubst.py
+++ b/Tools/modulator/varsubst.py
@@ -28,7 +28,7 @@
                 s = s[2:]
                 continue
             name = m.group(1)
-            if not self.dict.has_key(name):
+            if name not in self.dict:
                 raise error('No such variable: '+name)
             value = self.dict[name]
             if self.do_useindent and '\n' in value:
diff --git a/Tools/msi/merge.py b/Tools/msi/merge.py
index ff34b93..349cf7e 100644
--- a/Tools/msi/merge.py
+++ b/Tools/msi/merge.py
@@ -19,23 +19,23 @@
     # Step 1: Merge databases, extract cabfiles
     m = msilib.MakeMerge2()
     m.OpenLog("merge.log")
-    print "Opened Log"
+    print("Opened Log")
     m.OpenDatabase(msi)
-    print "Opened DB"
+    print("Opened DB")
     for module in modules:
-        print module
+        print(module)
         m.OpenModule(module,0)
-        print "Opened Module",module
+        print("Opened Module",module)
         m.Merge(feature, rootdir)
-        print "Errors:"
+        print("Errors:")
         for e in m.Errors:
-            print e.Type, e.ModuleTable, e.DatabaseTable
-            print "   Modkeys:",
-            for s in e.ModuleKeys: print s,
-            print
-            print "   DBKeys:",
-            for s in e.DatabaseKeys: print s,
-            print
+            print(e.Type, e.ModuleTable, e.DatabaseTable)
+            print("   Modkeys:", end=' ')
+            for s in e.ModuleKeys: print(s, end=' ')
+            print()
+            print("   DBKeys:", end=' ')
+            for s in e.DatabaseKeys: print(s, end=' ')
+            print()
         cabname = tempfile.mktemp(suffix=".cab")
         m.ExtractCAB(cabname)
         cab_and_filecount.append((cabname, len(m.ModuleFiles)))
@@ -56,7 +56,7 @@
         seq = r.IntegerData(1)
         if seq > maxmedia:
             maxmedia = seq
-    print "Start of Media", maxmedia
+    print("Start of Media", maxmedia)
 
     for cabname, count in cab_and_filecount:
         stream = "merged%d" % maxmedia
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index b48604c..a57224a 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -205,7 +205,7 @@
                   schema, ProductName="Python "+full_current_version,
                   ProductCode=product_code,
                   ProductVersion=current_version,
-                  Manufacturer=u"Python Software Foundation")
+                  Manufacturer="Python Software Foundation")
     # The default sequencing of the RemoveExistingProducts action causes
     # removal of files that got just installed. Place it after
     # InstallInitialize, so we first uninstall everything, but still roll
@@ -335,7 +335,7 @@
 
     # Bitmaps
     if not os.path.exists(srcdir+r"\PC\python_icon.exe"):
-        raise "Run icons.mak in PC directory"
+        raise RuntimeError("Run icons.mak in PC directory")
     add_data(db, "Binary",
              [("PythonWin", msilib.Binary(r"%s\PCbuild\installer.bmp" % srcdir)), # 152x328 pixels
               ("py.ico",msilib.Binary(srcdir+r"\PC\py.ico")),
@@ -349,7 +349,7 @@
     # the installed/uninstalled state according to both the
     # Extensions and TclTk features.
     if os.system("nmake /nologo /c /f msisupport.mak") != 0:
-        raise "'nmake /f msisupport.mak' failed"
+        raise RuntimeError("'nmake /f msisupport.mak' failed")
     add_data(db, "Binary", [("Script", msilib.Binary("msisupport.dll"))])
     # See "Custom Action Type 1"
     if msilib.Win64:
@@ -845,7 +845,7 @@
     """By default, all components in the Python installer
     can run from source."""
     def __init__(self, *args, **kw):
-        if not kw.has_key("componentflags"):
+        if "componentflags" not in kw:
             kw['componentflags'] = 2 #msidbComponentAttributesOptional
         Directory.__init__(self, *args, **kw)
 
diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py
index 47a47c6..e07ef2b 100644
--- a/Tools/msi/msilib.py
+++ b/Tools/msi/msilib.py
@@ -7,11 +7,6 @@
 from win32com.client import constants
 import re, string, os, sets, glob, subprocess, sys, _winreg, struct
 
-try:
-    basestring
-except NameError:
-    basestring = (str, unicode)
-
 # Partially taken from Wine
 datasizemask=      0x00ff
 type_valid=        0x0100
@@ -173,14 +168,14 @@
         r = v.Fetch()
         if not r:break
         # Table, Column, Nullable
-        f.write("(%s,%s,%s," %
-                (`r.StringData(1)`, `r.StringData(2)`, `r.StringData(3)`))
+        f.write("(%r,%r,%r," %
+                (r.StringData(1), r.StringData(2), r.StringData(3)))
         def put_int(i):
             if r.IsNull(i):f.write("None, ")
             else:f.write("%d," % r.IntegerData(i))
         def put_str(i):
             if r.IsNull(i):f.write("None, ")
-            else:f.write("%s," % `r.StringData(i)`)
+            else:f.write("%r," % r.StringData(i))
         put_int(4) # MinValue
         put_int(5) # MaxValue
         put_str(6) # KeyTable
@@ -235,12 +230,12 @@
                     else:
                         rec.append(bytes)
                 else:
-                    raise "Unsupported column type", info.StringData(i)
+                    raise ValueError("Unsupported column type", info.StringData(i))
             f.write(repr(tuple(rec))+",\n")
         v1.Close()
         f.write("]\n\n")
     v.Close()
-    f.write("tables=%s\n" % repr(map(str,tables)))
+    f.write("tables=%s\n" % repr(list(map(str,tables))))
     f.close()
 
 class _Unspecified:pass
@@ -265,9 +260,9 @@
         assert len(value) == count, value
         for i in range(count):
             field = value[i]
-            if isinstance(field, (int, long)):
+            if isinstance(field, int):
                 r.SetIntegerData(i+1,field)
-            elif isinstance(field, basestring):
+            elif isinstance(field, str):
                 r.SetStringData(i+1,field)
             elif field is None:
                 pass
@@ -522,7 +517,7 @@
             file = os.path.basename(file)
         absolute = os.path.join(self.absolute, src)
         assert not re.search(r'[\?|><:/*]"', file) # restrictions on long names
-        if self.keyfiles.has_key(file):
+        if file in self.keyfiles:
             logical = self.keyfiles[file]
         else:
             logical = None
diff --git a/Tools/msi/schema.py b/Tools/msi/schema.py
index d028a11..63a6628 100644
--- a/Tools/msi/schema.py
+++ b/Tools/msi/schema.py
@@ -580,428 +580,428 @@
 tables=[_Validation, ActionText, AdminExecuteSequence, Condition, AdminUISequence, AdvtExecuteSequence, AdvtUISequence, AppId, AppSearch, Property, BBControl, Billboard, Feature, Binary, BindImage, File, CCPSearch, CheckBox, Class, Component, Icon, ProgId, ComboBox, CompLocator, Complus, Directory, Control, Dialog, ControlCondition, ControlEvent, CreateFolder, CustomAction, DrLocator, DuplicateFile, Environment, Error, EventMapping, Extension, MIME, FeatureComponents, FileSFPCatalog, SFPCatalog, Font, IniFile, IniLocator, InstallExecuteSequence, InstallUISequence, IsolatedComponent, LaunchCondition, ListBox, ListView, LockPermissions, Media, MoveFile, MsiAssembly, MsiAssemblyName, MsiDigitalCertificate, MsiDigitalSignature, MsiFileHash, MsiPatchHeaders, ODBCAttribute, ODBCDriver, ODBCDataSource, ODBCSourceAttribute, ODBCTranslator, Patch, PatchPackage, PublishComponent, RadioButton, Registry, RegLocator, RemoveFile, RemoveIniFile, RemoveRegistry, ReserveCost, SelfReg, ServiceControl, ServiceInstall, Shortcut, Signature, TextStyle, TypeLib, UIText, Upgrade, Verb]
 
 _Validation_records = [
-(u'_Validation',u'Table',u'N',None, None, None, None, u'Identifier',None, u'Name of table',),
-(u'_Validation',u'Column',u'N',None, None, None, None, u'Identifier',None, u'Name of column',),
-(u'_Validation',u'Description',u'Y',None, None, None, None, u'Text',None, u'Description of column',),
-(u'_Validation',u'Set',u'Y',None, None, None, None, u'Text',None, u'Set of values that are permitted',),
-(u'_Validation',u'Category',u'Y',None, None, None, None, None, u'Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URL',u'String category',),
-(u'_Validation',u'KeyColumn',u'Y',1,32,None, None, None, None, u'Column to which foreign key connects',),
-(u'_Validation',u'KeyTable',u'Y',None, None, None, None, u'Identifier',None, u'For foreign key, Name of table to which data must link',),
-(u'_Validation',u'MaxValue',u'Y',-2147483647,2147483647,None, None, None, None, u'Maximum value allowed',),
-(u'_Validation',u'MinValue',u'Y',-2147483647,2147483647,None, None, None, None, u'Minimum value allowed',),
-(u'_Validation',u'Nullable',u'N',None, None, None, None, None, u'Y;N;@',u'Whether the column is nullable',),
-(u'ActionText',u'Description',u'Y',None, None, None, None, u'Text',None, u'Localized description displayed in progress dialog and log when action is executing.',),
-(u'ActionText',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to be described.',),
-(u'ActionText',u'Template',u'Y',None, None, None, None, u'Template',None, u'Optional localized format template used to format action data records for display during action execution.',),
-(u'AdminExecuteSequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'AdminExecuteSequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'AdminExecuteSequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'Condition',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Expression evaluated to determine if Level in the Feature table is to change.',),
-(u'Condition',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Reference to a Feature entry in Feature table.',),
-(u'Condition',u'Level',u'N',0,32767,None, None, None, None, u'New selection Level to set in Feature table if Condition evaluates to TRUE.',),
-(u'AdminUISequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'AdminUISequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'AdminUISequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'AdvtExecuteSequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'AdvtExecuteSequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'AdvtExecuteSequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'AdvtUISequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'AdvtUISequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'AdvtUISequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'AppId',u'AppId',u'N',None, None, None, None, u'Guid',None, None, ),
-(u'AppId',u'ActivateAtStorage',u'Y',0,1,None, None, None, None, None, ),
-(u'AppId',u'DllSurrogate',u'Y',None, None, None, None, u'Text',None, None, ),
-(u'AppId',u'LocalService',u'Y',None, None, None, None, u'Text',None, None, ),
-(u'AppId',u'RemoteServerName',u'Y',None, None, None, None, u'Formatted',None, None, ),
-(u'AppId',u'RunAsInteractiveUser',u'Y',0,1,None, None, None, None, None, ),
-(u'AppId',u'ServiceParameters',u'Y',None, None, None, None, u'Text',None, None, ),
-(u'AppSearch',u'Property',u'N',None, None, None, None, u'Identifier',None, u'The property associated with a Signature',),
-(u'AppSearch',u'Signature_',u'N',None, None, u'Signature;RegLocator;IniLocator;DrLocator;CompLocator',1,u'Identifier',None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.',),
-(u'Property',u'Property',u'N',None, None, None, None, u'Identifier',None, u'Name of property, uppercase if settable by launcher or loader.',),
-(u'Property',u'Value',u'N',None, None, None, None, u'Text',None, u'String value for property.  Never null or empty.',),
-(u'BBControl',u'Type',u'N',None, None, None, None, u'Identifier',None, u'The type of the control.',),
-(u'BBControl',u'Y',u'N',0,32767,None, None, None, None, u'Vertical coordinate of the upper left corner of the bounding rectangle of the control.',),
-(u'BBControl',u'Text',u'Y',None, None, None, None, u'Text',None, u'A string used to set the initial text contained within a control (if appropriate).',),
-(u'BBControl',u'BBControl',u'N',None, None, None, None, u'Identifier',None, u'Name of the control. This name must be unique within a billboard, but can repeat on different billboard.',),
-(u'BBControl',u'Attributes',u'Y',0,2147483647,None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this control.',),
-(u'BBControl',u'Billboard_',u'N',None, None, u'Billboard',1,u'Identifier',None, u'External key to the Billboard table, name of the billboard.',),
-(u'BBControl',u'Height',u'N',0,32767,None, None, None, None, u'Height of the bounding rectangle of the control.',),
-(u'BBControl',u'Width',u'N',0,32767,None, None, None, None, u'Width of the bounding rectangle of the control.',),
-(u'BBControl',u'X',u'N',0,32767,None, None, None, None, u'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.',),
-(u'Billboard',u'Action',u'Y',None, None, None, None, u'Identifier',None, u'The name of an action. The billboard is displayed during the progress messages received from this action.',),
-(u'Billboard',u'Billboard',u'N',None, None, None, None, u'Identifier',None, u'Name of the billboard.',),
-(u'Billboard',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'An external key to the Feature Table. The billboard is shown only if this feature is being installed.',),
-(u'Billboard',u'Ordering',u'Y',0,32767,None, None, None, None, u'A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.',),
-(u'Feature',u'Description',u'Y',None, None, None, None, u'Text',None, u'Longer descriptive text describing a visible feature item.',),
-(u'Feature',u'Attributes',u'N',None, None, None, None, None, u'0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54',u'Feature attributes',),
-(u'Feature',u'Feature',u'N',None, None, None, None, u'Identifier',None, u'Primary key used to identify a particular feature record.',),
-(u'Feature',u'Directory_',u'Y',None, None, u'Directory',1,u'UpperCase',None, u'The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.',),
-(u'Feature',u'Level',u'N',0,32767,None, None, None, None, u'The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.',),
-(u'Feature',u'Title',u'Y',None, None, None, None, u'Text',None, u'Short text identifying a visible feature item.',),
-(u'Feature',u'Display',u'Y',0,32767,None, None, None, None, u'Numeric sort order, used to force a specific display ordering.',),
-(u'Feature',u'Feature_Parent',u'Y',None, None, u'Feature',1,u'Identifier',None, u'Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.',),
-(u'Binary',u'Name',u'N',None, None, None, None, u'Identifier',None, u'Unique key identifying the binary data.',),
-(u'Binary',u'Data',u'N',None, None, None, None, u'Binary',None, u'The unformatted binary data.',),
-(u'BindImage',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'The index into the File table. This must be an executable file.',),
-(u'BindImage',u'Path',u'Y',None, None, None, None, u'Paths',None, u'A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .',),
-(u'File',u'Sequence',u'N',1,32767,None, None, None, None, u'Sequence with respect to the media images; order must track cabinet order.',),
-(u'File',u'Attributes',u'Y',0,32767,None, None, None, None, u'Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)',),
-(u'File',u'File',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.',),
-(u'File',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key referencing Component that controls the file.',),
-(u'File',u'FileName',u'N',None, None, None, None, u'Filename',None, u'File name used for installation, may be localized.  This may contain a "short name|long name" pair.',),
-(u'File',u'FileSize',u'N',0,2147483647,None, None, None, None, u'Size of file in bytes (long integer).',),
-(u'File',u'Language',u'Y',None, None, None, None, u'Language',None, u'List of decimal language Ids, comma-separated if more than one.',),
-(u'File',u'Version',u'Y',None, None, u'File',1,u'Version',None, u'Version string for versioned files;  Blank for unversioned files.',),
-(u'CCPSearch',u'Signature_',u'N',None, None, u'Signature;RegLocator;IniLocator;DrLocator;CompLocator',1,u'Identifier',None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.',),
-(u'CheckBox',u'Property',u'N',None, None, None, None, u'Identifier',None, u'A named property to be tied to the item.',),
-(u'CheckBox',u'Value',u'Y',None, None, None, None, u'Formatted',None, u'The value string associated with the item.',),
-(u'Class',u'Description',u'Y',None, None, None, None, u'Text',None, u'Localized description for the Class.',),
-(u'Class',u'Attributes',u'Y',None, 32767,None, None, None, None, u'Class registration attributes.',),
-(u'Class',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.',),
-(u'Class',u'AppId_',u'Y',None, None, u'AppId',1,u'Guid',None, u'Optional AppID containing DCOM information for associated application (string GUID).',),
-(u'Class',u'Argument',u'Y',None, None, None, None, u'Formatted',None, u'optional argument for LocalServers.',),
-(u'Class',u'CLSID',u'N',None, None, None, None, u'Guid',None, u'The CLSID of an OLE factory.',),
-(u'Class',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
-(u'Class',u'Context',u'N',None, None, None, None, u'Identifier',None, u'The numeric server context for this server. CLSCTX_xxxx',),
-(u'Class',u'DefInprocHandler',u'Y',None, None, None, None, u'Filename',u'1;2;3',u'Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"',),
-(u'Class',u'FileTypeMask',u'Y',None, None, None, None, u'Text',None, u'Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...',),
-(u'Class',u'Icon_',u'Y',None, None, u'Icon',1,u'Identifier',None, u'Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.',),
-(u'Class',u'IconIndex',u'Y',-32767,32767,None, None, None, None, u'Optional icon index.',),
-(u'Class',u'ProgId_Default',u'Y',None, None, u'ProgId',1,u'Text',None, u'Optional ProgId associated with this CLSID.',),
-(u'Component',u'Condition',u'Y',None, None, None, None, u'Condition',None, u"A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.",),
-(u'Component',u'Attributes',u'N',None, None, None, None, None, None, u'Remote execution option, one of irsEnum',),
-(u'Component',u'Component',u'N',None, None, None, None, u'Identifier',None, u'Primary key used to identify a particular component record.',),
-(u'Component',u'ComponentId',u'Y',None, None, None, None, u'Guid',None, u'A string GUID unique to this component, version, and language.',),
-(u'Component',u'Directory_',u'N',None, None, u'Directory',1,u'Identifier',None, u'Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.',),
-(u'Component',u'KeyPath',u'Y',None, None, u'File;Registry;ODBCDataSource',1,u'Identifier',None, u'Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.',),
-(u'Icon',u'Name',u'N',None, None, None, None, u'Identifier',None, u'Primary key. Name of the icon file.',),
-(u'Icon',u'Data',u'N',None, None, None, None, u'Binary',None, u'Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.',),
-(u'ProgId',u'Description',u'Y',None, None, None, None, u'Text',None, u'Localized description for the Program identifier.',),
-(u'ProgId',u'Icon_',u'Y',None, None, u'Icon',1,u'Identifier',None, u'Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.',),
-(u'ProgId',u'IconIndex',u'Y',-32767,32767,None, None, None, None, u'Optional icon index.',),
-(u'ProgId',u'ProgId',u'N',None, None, None, None, u'Text',None, u'The Program Identifier. Primary key.',),
-(u'ProgId',u'Class_',u'Y',None, None, u'Class',1,u'Guid',None, u'The CLSID of an OLE factory corresponding to the ProgId.',),
-(u'ProgId',u'ProgId_Parent',u'Y',None, None, u'ProgId',1,u'Text',None, u'The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.',),
-(u'ComboBox',u'Text',u'Y',None, None, None, None, u'Formatted',None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
-(u'ComboBox',u'Property',u'N',None, None, None, None, u'Identifier',None, u'A named property to be tied to this item. All the items tied to the same property become part of the same combobox.',),
-(u'ComboBox',u'Value',u'N',None, None, None, None, u'Formatted',None, u'The value string associated with this item. Selecting the line will set the associated property to this value.',),
-(u'ComboBox',u'Order',u'N',1,32767,None, None, None, None, u'A positive integer used to determine the ordering of the items within one list.\tThe integers do not have to be consecutive.',),
-(u'CompLocator',u'Type',u'Y',0,1,None, None, None, None, u'A boolean value that determines if the registry value is a filename or a directory location.',),
-(u'CompLocator',u'Signature_',u'N',None, None, None, None, u'Identifier',None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
-(u'CompLocator',u'ComponentId',u'N',None, None, None, None, u'Guid',None, u'A string GUID unique to this component, version, and language.',),
-(u'Complus',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key referencing Component that controls the ComPlus component.',),
-(u'Complus',u'ExpType',u'Y',0,32767,None, None, None, None, u'ComPlus component attributes.',),
-(u'Directory',u'Directory',u'N',None, None, None, None, u'Identifier',None, u'Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.',),
-(u'Directory',u'DefaultDir',u'N',None, None, None, None, u'DefaultDir',None, u"The default sub-path under parent's path.",),
-(u'Directory',u'Directory_Parent',u'Y',None, None, u'Directory',1,u'Identifier',None, u'Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.',),
-(u'Control',u'Type',u'N',None, None, None, None, u'Identifier',None, u'The type of the control.',),
-(u'Control',u'Y',u'N',0,32767,None, None, None, None, u'Vertical coordinate of the upper left corner of the bounding rectangle of the control.',),
-(u'Control',u'Text',u'Y',None, None, None, None, u'Formatted',None, u'A string used to set the initial text contained within a control (if appropriate).',),
-(u'Control',u'Property',u'Y',None, None, None, None, u'Identifier',None, u'The name of a defined property to be linked to this control. ',),
-(u'Control',u'Attributes',u'Y',0,2147483647,None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this control.',),
-(u'Control',u'Height',u'N',0,32767,None, None, None, None, u'Height of the bounding rectangle of the control.',),
-(u'Control',u'Width',u'N',0,32767,None, None, None, None, u'Width of the bounding rectangle of the control.',),
-(u'Control',u'X',u'N',0,32767,None, None, None, None, u'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.',),
-(u'Control',u'Control',u'N',None, None, None, None, u'Identifier',None, u'Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. ',),
-(u'Control',u'Control_Next',u'Y',None, None, u'Control',2,u'Identifier',None, u'The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!',),
-(u'Control',u'Dialog_',u'N',None, None, u'Dialog',1,u'Identifier',None, u'External key to the Dialog table, name of the dialog.',),
-(u'Control',u'Help',u'Y',None, None, None, None, u'Text',None, u'The help strings used with the button. The text is optional. ',),
-(u'Dialog',u'Attributes',u'Y',0,2147483647,None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this dialog.',),
-(u'Dialog',u'Height',u'N',0,32767,None, None, None, None, u'Height of the bounding rectangle of the dialog.',),
-(u'Dialog',u'Width',u'N',0,32767,None, None, None, None, u'Width of the bounding rectangle of the dialog.',),
-(u'Dialog',u'Dialog',u'N',None, None, None, None, u'Identifier',None, u'Name of the dialog.',),
-(u'Dialog',u'Control_Cancel',u'Y',None, None, u'Control',2,u'Identifier',None, u'Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.',),
-(u'Dialog',u'Control_Default',u'Y',None, None, u'Control',2,u'Identifier',None, u'Defines the default control. Hitting return is equivalent to pushing this button.',),
-(u'Dialog',u'Control_First',u'N',None, None, u'Control',2,u'Identifier',None, u'Defines the control that has the focus when the dialog is created.',),
-(u'Dialog',u'HCentering',u'N',0,100,None, None, None, None, u'Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.',),
-(u'Dialog',u'Title',u'Y',None, None, None, None, u'Formatted',None, u"A text string specifying the title to be displayed in the title bar of the dialog's window.",),
-(u'Dialog',u'VCentering',u'N',0,100,None, None, None, None, u'Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.',),
-(u'ControlCondition',u'Action',u'N',None, None, None, None, None, u'Default;Disable;Enable;Hide;Show',u'The desired action to be taken on the specified control.',),
-(u'ControlCondition',u'Condition',u'N',None, None, None, None, u'Condition',None, u'A standard conditional statement that specifies under which conditions the action should be triggered.',),
-(u'ControlCondition',u'Dialog_',u'N',None, None, u'Dialog',1,u'Identifier',None, u'A foreign key to the Dialog table, name of the dialog.',),
-(u'ControlCondition',u'Control_',u'N',None, None, u'Control',2,u'Identifier',None, u'A foreign key to the Control table, name of the control.',),
-(u'ControlEvent',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'A standard conditional statement that specifies under which conditions an event should be triggered.',),
-(u'ControlEvent',u'Ordering',u'Y',0,2147483647,None, None, None, None, u'An integer used to order several events tied to the same control. Can be left blank.',),
-(u'ControlEvent',u'Argument',u'N',None, None, None, None, u'Formatted',None, u'A value to be used as a modifier when triggering a particular event.',),
-(u'ControlEvent',u'Dialog_',u'N',None, None, u'Dialog',1,u'Identifier',None, u'A foreign key to the Dialog table, name of the dialog.',),
-(u'ControlEvent',u'Control_',u'N',None, None, u'Control',2,u'Identifier',None, u'A foreign key to the Control table, name of the control',),
-(u'ControlEvent',u'Event',u'N',None, None, None, None, u'Formatted',None, u'An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.',),
-(u'CreateFolder',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table.',),
-(u'CreateFolder',u'Directory_',u'N',None, None, u'Directory',1,u'Identifier',None, u'Primary key, could be foreign key into the Directory table.',),
-(u'CustomAction',u'Type',u'N',1,16383,None, None, None, None, u'The numeric custom action type, consisting of source location, code type, entry, option flags.',),
-(u'CustomAction',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Primary key, name of action, normally appears in sequence table unless private use.',),
-(u'CustomAction',u'Source',u'Y',None, None, None, None, u'CustomSource',None, u'The table reference of the source of the code.',),
-(u'CustomAction',u'Target',u'Y',None, None, None, None, u'Formatted',None, u'Excecution parameter, depends on the type of custom action',),
-(u'DrLocator',u'Signature_',u'N',None, None, None, None, u'Identifier',None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
-(u'DrLocator',u'Path',u'Y',None, None, None, None, u'AnyPath',None, u'The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.',),
-(u'DrLocator',u'Depth',u'Y',0,32767,None, None, None, None, u'The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.',),
-(u'DrLocator',u'Parent',u'Y',None, None, None, None, u'Identifier',None, u'The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.',),
-(u'DuplicateFile',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Foreign key referencing the source file to be duplicated.',),
-(u'DuplicateFile',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key referencing Component that controls the duplicate file.',),
-(u'DuplicateFile',u'DestFolder',u'Y',None, None, None, None, u'Identifier',None, u'Name of a property whose value is assumed to resolve to the full pathname to a destination folder.',),
-(u'DuplicateFile',u'DestName',u'Y',None, None, None, None, u'Filename',None, u'Filename to be given to the duplicate file.',),
-(u'DuplicateFile',u'FileKey',u'N',None, None, None, None, u'Identifier',None, u'Primary key used to identify a particular file entry',),
-(u'Environment',u'Name',u'N',None, None, None, None, u'Text',None, u'The name of the environmental value.',),
-(u'Environment',u'Value',u'Y',None, None, None, None, u'Formatted',None, u'The value to set in the environmental settings.',),
-(u'Environment',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table referencing component that controls the installing of the environmental value.',),
-(u'Environment',u'Environment',u'N',None, None, None, None, u'Identifier',None, u'Unique identifier for the environmental variable setting',),
-(u'Error',u'Error',u'N',0,32767,None, None, None, None, u'Integer error number, obtained from header file IError(...) macros.',),
-(u'Error',u'Message',u'Y',None, None, None, None, u'Template',None, u'Error formatting template, obtained from user ed. or localizers.',),
-(u'EventMapping',u'Dialog_',u'N',None, None, u'Dialog',1,u'Identifier',None, u'A foreign key to the Dialog table, name of the Dialog.',),
-(u'EventMapping',u'Control_',u'N',None, None, u'Control',2,u'Identifier',None, u'A foreign key to the Control table, name of the control.',),
-(u'EventMapping',u'Event',u'N',None, None, None, None, u'Identifier',None, u'An identifier that specifies the type of the event that the control subscribes to.',),
-(u'EventMapping',u'Attribute',u'N',None, None, None, None, u'Identifier',None, u'The name of the control attribute, that is set when this event is received.',),
-(u'Extension',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.',),
-(u'Extension',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
-(u'Extension',u'Extension',u'N',None, None, None, None, u'Text',None, u'The extension associated with the table row.',),
-(u'Extension',u'MIME_',u'Y',None, None, u'MIME',1,u'Text',None, u'Optional Context identifier, typically "type/format" associated with the extension',),
-(u'Extension',u'ProgId_',u'Y',None, None, u'ProgId',1,u'Text',None, u'Optional ProgId associated with this extension.',),
-(u'MIME',u'CLSID',u'Y',None, None, None, None, u'Guid',None, u'Optional associated CLSID.',),
-(u'MIME',u'ContentType',u'N',None, None, None, None, u'Text',None, u'Primary key. Context identifier, typically "type/format".',),
-(u'MIME',u'Extension_',u'N',None, None, u'Extension',1,u'Text',None, u'Optional associated extension (without dot)',),
-(u'FeatureComponents',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Foreign key into Feature table.',),
-(u'FeatureComponents',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into Component table.',),
-(u'FileSFPCatalog',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'File associated with the catalog',),
-(u'FileSFPCatalog',u'SFPCatalog_',u'N',None, None, u'SFPCatalog',1,u'Filename',None, u'Catalog associated with the file',),
-(u'SFPCatalog',u'SFPCatalog',u'N',None, None, None, None, u'Filename',None, u'File name for the catalog.',),
-(u'SFPCatalog',u'Catalog',u'N',None, None, None, None, u'Binary',None, u'SFP Catalog',),
-(u'SFPCatalog',u'Dependency',u'Y',None, None, None, None, u'Formatted',None, u'Parent catalog - only used by SFP',),
-(u'Font',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Primary key, foreign key into File table referencing font file.',),
-(u'Font',u'FontTitle',u'Y',None, None, None, None, u'Text',None, u'Font name.',),
-(u'IniFile',u'Action',u'N',None, None, None, None, None, u'0;1;3',u'The type of modification to be made, one of iifEnum',),
-(u'IniFile',u'Value',u'N',None, None, None, None, u'Formatted',None, u'The value to be written.',),
-(u'IniFile',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table referencing component that controls the installing of the .INI value.',),
-(u'IniFile',u'FileName',u'N',None, None, None, None, u'Filename',None, u'The .INI file name in which to write the information',),
-(u'IniFile',u'IniFile',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'IniFile',u'DirProperty',u'Y',None, None, None, None, u'Identifier',None, u'Foreign key into the Directory table denoting the directory where the .INI file is.',),
-(u'IniFile',u'Key',u'N',None, None, None, None, u'Formatted',None, u'The .INI file key below Section.',),
-(u'IniFile',u'Section',u'N',None, None, None, None, u'Formatted',None, u'The .INI file Section.',),
-(u'IniLocator',u'Type',u'Y',0,2,None, None, None, None, u'An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.',),
-(u'IniLocator',u'Signature_',u'N',None, None, None, None, u'Identifier',None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
-(u'IniLocator',u'FileName',u'N',None, None, None, None, u'Filename',None, u'The .INI file name.',),
-(u'IniLocator',u'Key',u'N',None, None, None, None, u'Text',None, u'Key value (followed by an equals sign in INI file).',),
-(u'IniLocator',u'Section',u'N',None, None, None, None, u'Text',None, u'Section name within in file (within square brackets in INI file).',),
-(u'IniLocator',u'Field',u'Y',0,32767,None, None, None, None, u'The field in the .INI line. If Field is null or 0 the entire line is read.',),
-(u'InstallExecuteSequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'InstallExecuteSequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'InstallExecuteSequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'InstallUISequence',u'Action',u'N',None, None, None, None, u'Identifier',None, u'Name of action to invoke, either in the engine or the handler DLL.',),
-(u'InstallUISequence',u'Condition',u'Y',None, None, None, None, u'Condition',None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
-(u'InstallUISequence',u'Sequence',u'Y',-4,32767,None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
-(u'IsolatedComponent',u'Component_Application',u'N',None, None, u'Component',1,u'Identifier',None, u'Key to Component table item for application',),
-(u'IsolatedComponent',u'Component_Shared',u'N',None, None, u'Component',1,u'Identifier',None, u'Key to Component table item to be isolated',),
-(u'LaunchCondition',u'Description',u'N',None, None, None, None, u'Formatted',None, u'Localizable text to display when condition fails and install must abort.',),
-(u'LaunchCondition',u'Condition',u'N',None, None, None, None, u'Condition',None, u'Expression which must evaluate to TRUE in order for install to commence.',),
-(u'ListBox',u'Text',u'Y',None, None, None, None, u'Text',None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
-(u'ListBox',u'Property',u'N',None, None, None, None, u'Identifier',None, u'A named property to be tied to this item. All the items tied to the same property become part of the same listbox.',),
-(u'ListBox',u'Value',u'N',None, None, None, None, u'Formatted',None, u'The value string associated with this item. Selecting the line will set the associated property to this value.',),
-(u'ListBox',u'Order',u'N',1,32767,None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
-(u'ListView',u'Text',u'Y',None, None, None, None, u'Text',None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
-(u'ListView',u'Property',u'N',None, None, None, None, u'Identifier',None, u'A named property to be tied to this item. All the items tied to the same property become part of the same listview.',),
-(u'ListView',u'Value',u'N',None, None, None, None, u'Identifier',None, u'The value string associated with this item. Selecting the line will set the associated property to this value.',),
-(u'ListView',u'Order',u'N',1,32767,None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
-(u'ListView',u'Binary_',u'Y',None, None, u'Binary',1,u'Identifier',None, u'The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.',),
-(u'LockPermissions',u'Table',u'N',None, None, None, None, u'Identifier',u'Directory;File;Registry',u'Reference to another table name',),
-(u'LockPermissions',u'Domain',u'Y',None, None, None, None, u'Formatted',None, u'Domain name for user whose permissions are being set. (usually a property)',),
-(u'LockPermissions',u'LockObject',u'N',None, None, None, None, u'Identifier',None, u'Foreign key into Registry or File table',),
-(u'LockPermissions',u'Permission',u'Y',-2147483647,2147483647,None, None, None, None, u'Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)',),
-(u'LockPermissions',u'User',u'N',None, None, None, None, u'Formatted',None, u'User for permissions to be set.  (usually a property)',),
-(u'Media',u'Source',u'Y',None, None, None, None, u'Property',None, u'The property defining the location of the cabinet file.',),
-(u'Media',u'Cabinet',u'Y',None, None, None, None, u'Cabinet',None, u'If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.',),
-(u'Media',u'DiskId',u'N',1,32767,None, None, None, None, u'Primary key, integer to determine sort order for table.',),
-(u'Media',u'DiskPrompt',u'Y',None, None, None, None, u'Text',None, u'Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.',),
-(u'Media',u'LastSequence',u'N',0,32767,None, None, None, None, u'File sequence number for the last file for this media.',),
-(u'Media',u'VolumeLabel',u'Y',None, None, None, None, u'Text',None, u'The label attributed to the volume.',),
-(u'ModuleComponents',u'Component',u'N',None, None, u'Component',1,u'Identifier',None, u'Component contained in the module.',),
-(u'ModuleComponents',u'Language',u'N',None, None, u'ModuleSignature',2,None, None, u'Default language ID for module (may be changed by transform).',),
-(u'ModuleComponents',u'ModuleID',u'N',None, None, u'ModuleSignature',1,u'Identifier',None, u'Module containing the component.',),
-(u'ModuleSignature',u'Language',u'N',None, None, None, None, None, None, u'Default decimal language of module.',),
-(u'ModuleSignature',u'Version',u'N',None, None, None, None, u'Version',None, u'Version of the module.',),
-(u'ModuleSignature',u'ModuleID',u'N',None, None, None, None, u'Identifier',None, u'Module identifier (String.GUID).',),
-(u'ModuleDependency',u'ModuleID',u'N',None, None, u'ModuleSignature',1,u'Identifier',None, u'Module requiring the dependency.',),
-(u'ModuleDependency',u'ModuleLanguage',u'N',None, None, u'ModuleSignature',2,None, None, u'Language of module requiring the dependency.',),
-(u'ModuleDependency',u'RequiredID',u'N',None, None, None, None, None, None, u'String.GUID of required module.',),
-(u'ModuleDependency',u'RequiredLanguage',u'N',None, None, None, None, None, None, u'LanguageID of the required module.',),
-(u'ModuleDependency',u'RequiredVersion',u'Y',None, None, None, None, u'Version',None, u'Version of the required version.',),
-(u'ModuleExclusion',u'ModuleID',u'N',None, None, u'ModuleSignature',1,u'Identifier',None, u'String.GUID of module with exclusion requirement.',),
-(u'ModuleExclusion',u'ModuleLanguage',u'N',None, None, u'ModuleSignature',2,None, None, u'LanguageID of module with exclusion requirement.',),
-(u'ModuleExclusion',u'ExcludedID',u'N',None, None, None, None, None, None, u'String.GUID of excluded module.',),
-(u'ModuleExclusion',u'ExcludedLanguage',u'N',None, None, None, None, None, None, u'Language of excluded module.',),
-(u'ModuleExclusion',u'ExcludedMaxVersion',u'Y',None, None, None, None, u'Version',None, u'Maximum version of excluded module.',),
-(u'ModuleExclusion',u'ExcludedMinVersion',u'Y',None, None, None, None, u'Version',None, u'Minimum version of excluded module.',),
-(u'MoveFile',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry',),
-(u'MoveFile',u'DestFolder',u'N',None, None, None, None, u'Identifier',None, u'Name of a property whose value is assumed to resolve to the full path to the destination directory',),
-(u'MoveFile',u'DestName',u'Y',None, None, None, None, u'Filename',None, u'Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file',),
-(u'MoveFile',u'FileKey',u'N',None, None, None, None, u'Identifier',None, u'Primary key that uniquely identifies a particular MoveFile record',),
-(u'MoveFile',u'Options',u'N',0,1,None, None, None, None, u'Integer value specifying the MoveFile operating mode, one of imfoEnum',),
-(u'MoveFile',u'SourceFolder',u'Y',None, None, None, None, u'Identifier',None, u'Name of a property whose value is assumed to resolve to the full path to the source directory',),
-(u'MoveFile',u'SourceName',u'Y',None, None, None, None, u'Text',None, u"Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards.",),
-(u'MsiAssembly',u'Attributes',u'Y',None, None, None, None, None, None, u'Assembly attributes',),
-(u'MsiAssembly',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Foreign key into Feature table.',),
-(u'MsiAssembly',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into Component table.',),
-(u'MsiAssembly',u'File_Application',u'Y',None, None, u'File',1,u'Identifier',None, u'Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.',),
-(u'MsiAssembly',u'File_Manifest',u'Y',None, None, u'File',1,u'Identifier',None, u'Foreign key into the File table denoting the manifest file for the assembly.',),
-(u'MsiAssemblyName',u'Name',u'N',None, None, None, None, u'Text',None, u'The name part of the name-value pairs for the assembly name.',),
-(u'MsiAssemblyName',u'Value',u'N',None, None, None, None, u'Text',None, u'The value part of the name-value pairs for the assembly name.',),
-(u'MsiAssemblyName',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into Component table.',),
-(u'MsiDigitalCertificate',u'CertData',u'N',None, None, None, None, u'Binary',None, u'A certificate context blob for a signer certificate',),
-(u'MsiDigitalCertificate',u'DigitalCertificate',u'N',None, None, None, None, u'Identifier',None, u'A unique identifier for the row',),
-(u'MsiDigitalSignature',u'Table',u'N',None, None, None, None, None, u'Media',u'Reference to another table name (only Media table is supported)',),
-(u'MsiDigitalSignature',u'DigitalCertificate_',u'N',None, None, u'MsiDigitalCertificate',1,u'Identifier',None, u'Foreign key to MsiDigitalCertificate table identifying the signer certificate',),
-(u'MsiDigitalSignature',u'Hash',u'Y',None, None, None, None, u'Binary',None, u'The encoded hash blob from the digital signature',),
-(u'MsiDigitalSignature',u'SignObject',u'N',None, None, None, None, u'Text',None, u'Foreign key to Media table',),
-(u'MsiFileHash',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Primary key, foreign key into File table referencing file with this hash',),
-(u'MsiFileHash',u'Options',u'N',0,32767,None, None, None, None, u'Various options and attributes for this hash.',),
-(u'MsiFileHash',u'HashPart1',u'N',None, None, None, None, None, None, u'Size of file in bytes (long integer).',),
-(u'MsiFileHash',u'HashPart2',u'N',None, None, None, None, None, None, u'Size of file in bytes (long integer).',),
-(u'MsiFileHash',u'HashPart3',u'N',None, None, None, None, None, None, u'Size of file in bytes (long integer).',),
-(u'MsiFileHash',u'HashPart4',u'N',None, None, None, None, None, None, u'Size of file in bytes (long integer).',),
-(u'MsiPatchHeaders',u'StreamRef',u'N',None, None, None, None, u'Identifier',None, u'Primary key. A unique identifier for the row.',),
-(u'MsiPatchHeaders',u'Header',u'N',None, None, None, None, u'Binary',None, u'Binary stream. The patch header, used for patch validation.',),
-(u'ODBCAttribute',u'Value',u'Y',None, None, None, None, u'Text',None, u'Value for ODBC driver attribute',),
-(u'ODBCAttribute',u'Attribute',u'N',None, None, None, None, u'Text',None, u'Name of ODBC driver attribute',),
-(u'ODBCAttribute',u'Driver_',u'N',None, None, u'ODBCDriver',1,u'Identifier',None, u'Reference to ODBC driver in ODBCDriver table',),
-(u'ODBCDriver',u'Description',u'N',None, None, None, None, u'Text',None, u'Text used as registered name for driver, non-localized',),
-(u'ODBCDriver',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Reference to key driver file',),
-(u'ODBCDriver',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Reference to associated component',),
-(u'ODBCDriver',u'Driver',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized.internal token for driver',),
-(u'ODBCDriver',u'File_Setup',u'Y',None, None, u'File',1,u'Identifier',None, u'Optional reference to key driver setup DLL',),
-(u'ODBCDataSource',u'Description',u'N',None, None, None, None, u'Text',None, u'Text used as registered name for data source',),
-(u'ODBCDataSource',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Reference to associated component',),
-(u'ODBCDataSource',u'DataSource',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized.internal token for data source',),
-(u'ODBCDataSource',u'DriverDescription',u'N',None, None, None, None, u'Text',None, u'Reference to driver description, may be existing driver',),
-(u'ODBCDataSource',u'Registration',u'N',0,1,None, None, None, None, u'Registration option: 0=machine, 1=user, others t.b.d.',),
-(u'ODBCSourceAttribute',u'Value',u'Y',None, None, None, None, u'Text',None, u'Value for ODBC data source attribute',),
-(u'ODBCSourceAttribute',u'Attribute',u'N',None, None, None, None, u'Text',None, u'Name of ODBC data source attribute',),
-(u'ODBCSourceAttribute',u'DataSource_',u'N',None, None, u'ODBCDataSource',1,u'Identifier',None, u'Reference to ODBC data source in ODBCDataSource table',),
-(u'ODBCTranslator',u'Description',u'N',None, None, None, None, u'Text',None, u'Text used as registered name for translator',),
-(u'ODBCTranslator',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Reference to key translator file',),
-(u'ODBCTranslator',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Reference to associated component',),
-(u'ODBCTranslator',u'File_Setup',u'Y',None, None, u'File',1,u'Identifier',None, u'Optional reference to key translator setup DLL',),
-(u'ODBCTranslator',u'Translator',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized.internal token for translator',),
-(u'Patch',u'Sequence',u'N',0,32767,None, None, None, None, u'Primary key, sequence with respect to the media images; order must track cabinet order.',),
-(u'Patch',u'Attributes',u'N',0,32767,None, None, None, None, u'Integer containing bit flags representing patch attributes',),
-(u'Patch',u'File_',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.',),
-(u'Patch',u'Header',u'Y',None, None, None, None, u'Binary',None, u'Binary stream. The patch header, used for patch validation.',),
-(u'Patch',u'PatchSize',u'N',0,2147483647,None, None, None, None, u'Size of patch in bytes (long integer).',),
-(u'Patch',u'StreamRef_',u'Y',None, None, None, None, u'Identifier',None, u'Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table.',),
-(u'PatchPackage',u'Media_',u'N',0,32767,None, None, None, None, u'Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.',),
-(u'PatchPackage',u'PatchId',u'N',None, None, None, None, u'Guid',None, u'A unique string GUID representing this patch.',),
-(u'PublishComponent',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Foreign key into the Feature table.',),
-(u'PublishComponent',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table.',),
-(u'PublishComponent',u'ComponentId',u'N',None, None, None, None, u'Guid',None, u'A string GUID that represents the component id that will be requested by the alien product.',),
-(u'PublishComponent',u'AppData',u'Y',None, None, None, None, u'Text',None, u'This is localisable Application specific data that can be associated with a Qualified Component.',),
-(u'PublishComponent',u'Qualifier',u'N',None, None, None, None, u'Text',None, u'This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.',),
-(u'RadioButton',u'Y',u'N',0,32767,None, None, None, None, u'The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.',),
-(u'RadioButton',u'Text',u'Y',None, None, None, None, u'Text',None, u'The visible title to be assigned to the radio button.',),
-(u'RadioButton',u'Property',u'N',None, None, None, None, u'Identifier',None, u'A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.',),
-(u'RadioButton',u'Height',u'N',0,32767,None, None, None, None, u'The height of the button.',),
-(u'RadioButton',u'Width',u'N',0,32767,None, None, None, None, u'The width of the button.',),
-(u'RadioButton',u'X',u'N',0,32767,None, None, None, None, u'The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.',),
-(u'RadioButton',u'Value',u'N',None, None, None, None, u'Formatted',None, u'The value string associated with this button. Selecting the button will set the associated property to this value.',),
-(u'RadioButton',u'Order',u'N',1,32767,None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
-(u'RadioButton',u'Help',u'Y',None, None, None, None, u'Text',None, u'The help strings used with the button. The text is optional.',),
-(u'Registry',u'Name',u'Y',None, None, None, None, u'Formatted',None, u'The registry value name.',),
-(u'Registry',u'Value',u'Y',None, None, None, None, u'Formatted',None, u'The registry value.',),
-(u'Registry',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table referencing component that controls the installing of the registry value.',),
-(u'Registry',u'Key',u'N',None, None, None, None, u'RegPath',None, u'The key for the registry value.',),
-(u'Registry',u'Registry',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'Registry',u'Root',u'N',-1,3,None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum.',),
-(u'RegLocator',u'Name',u'Y',None, None, None, None, u'Formatted',None, u'The registry value name.',),
-(u'RegLocator',u'Type',u'Y',0,18,None, None, None, None, u'An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.',),
-(u'RegLocator',u'Signature_',u'N',None, None, None, None, u'Identifier',None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.',),
-(u'RegLocator',u'Key',u'N',None, None, None, None, u'RegPath',None, u'The key for the registry value.',),
-(u'RegLocator',u'Root',u'N',0,3,None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum.',),
-(u'RemoveFile',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key referencing Component that controls the file to be removed.',),
-(u'RemoveFile',u'FileKey',u'N',None, None, None, None, u'Identifier',None, u'Primary key used to identify a particular file entry',),
-(u'RemoveFile',u'FileName',u'Y',None, None, None, None, u'WildCardFilename',None, u'Name of the file to be removed.',),
-(u'RemoveFile',u'DirProperty',u'N',None, None, None, None, u'Identifier',None, u'Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.',),
-(u'RemoveFile',u'InstallMode',u'N',None, None, None, None, None, u'1;2;3',u'Installation option, one of iimEnum.',),
-(u'RemoveIniFile',u'Action',u'N',None, None, None, None, None, u'2;4',u'The type of modification to be made, one of iifEnum.',),
-(u'RemoveIniFile',u'Value',u'Y',None, None, None, None, u'Formatted',None, u'The value to be deleted. The value is required when Action is iifIniRemoveTag',),
-(u'RemoveIniFile',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table referencing component that controls the deletion of the .INI value.',),
-(u'RemoveIniFile',u'FileName',u'N',None, None, None, None, u'Filename',None, u'The .INI file name in which to delete the information',),
-(u'RemoveIniFile',u'DirProperty',u'Y',None, None, None, None, u'Identifier',None, u'Foreign key into the Directory table denoting the directory where the .INI file is.',),
-(u'RemoveIniFile',u'Key',u'N',None, None, None, None, u'Formatted',None, u'The .INI file key below Section.',),
-(u'RemoveIniFile',u'Section',u'N',None, None, None, None, u'Formatted',None, u'The .INI file Section.',),
-(u'RemoveIniFile',u'RemoveIniFile',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'RemoveRegistry',u'Name',u'Y',None, None, None, None, u'Formatted',None, u'The registry value name.',),
-(u'RemoveRegistry',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table referencing component that controls the deletion of the registry value.',),
-(u'RemoveRegistry',u'Key',u'N',None, None, None, None, u'RegPath',None, u'The key for the registry value.',),
-(u'RemoveRegistry',u'Root',u'N',-1,3,None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum',),
-(u'RemoveRegistry',u'RemoveRegistry',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'ReserveCost',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Reserve a specified amount of space if this component is to be installed.',),
-(u'ReserveCost',u'ReserveFolder',u'Y',None, None, None, None, u'Identifier',None, u'Name of a property whose value is assumed to resolve to the full path to the destination directory',),
-(u'ReserveCost',u'ReserveKey',u'N',None, None, None, None, u'Identifier',None, u'Primary key that uniquely identifies a particular ReserveCost record',),
-(u'ReserveCost',u'ReserveLocal',u'N',0,2147483647,None, None, None, None, u'Disk space to reserve if linked component is installed locally.',),
-(u'ReserveCost',u'ReserveSource',u'N',0,2147483647,None, None, None, None, u'Disk space to reserve if linked component is installed to run from the source location.',),
-(u'SelfReg',u'File_',u'N',None, None, u'File',1,u'Identifier',None, u'Foreign key into the File table denoting the module that needs to be registered.',),
-(u'SelfReg',u'Cost',u'Y',0,32767,None, None, None, None, u'The cost of registering the module.',),
-(u'ServiceControl',u'Name',u'N',None, None, None, None, u'Formatted',None, u'Name of a service. /, \\, comma and space are invalid',),
-(u'ServiceControl',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Required foreign key into the Component Table that controls the startup of the service',),
-(u'ServiceControl',u'Event',u'N',0,187,None, None, None, None, u'Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete',),
-(u'ServiceControl',u'ServiceControl',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'ServiceControl',u'Arguments',u'Y',None, None, None, None, u'Formatted',None, u'Arguments for the service.  Separate by [~].',),
-(u'ServiceControl',u'Wait',u'Y',0,1,None, None, None, None, u'Boolean for whether to wait for the service to fully start',),
-(u'ServiceInstall',u'Name',u'N',None, None, None, None, u'Formatted',None, u'Internal Name of the Service',),
-(u'ServiceInstall',u'Description',u'Y',None, None, None, None, u'Text',None, u'Description of service.',),
-(u'ServiceInstall',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Required foreign key into the Component Table that controls the startup of the service',),
-(u'ServiceInstall',u'Arguments',u'Y',None, None, None, None, u'Formatted',None, u'Arguments to include in every start of the service, passed to WinMain',),
-(u'ServiceInstall',u'ServiceInstall',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'ServiceInstall',u'Dependencies',u'Y',None, None, None, None, u'Formatted',None, u'Other services this depends on to start.  Separate by [~], and end with [~][~]',),
-(u'ServiceInstall',u'DisplayName',u'Y',None, None, None, None, u'Formatted',None, u'External Name of the Service',),
-(u'ServiceInstall',u'ErrorControl',u'N',-2147483647,2147483647,None, None, None, None, u'Severity of error if service fails to start',),
-(u'ServiceInstall',u'LoadOrderGroup',u'Y',None, None, None, None, u'Formatted',None, u'LoadOrderGroup',),
-(u'ServiceInstall',u'Password',u'Y',None, None, None, None, u'Formatted',None, u'password to run service with.  (with StartName)',),
-(u'ServiceInstall',u'ServiceType',u'N',-2147483647,2147483647,None, None, None, None, u'Type of the service',),
-(u'ServiceInstall',u'StartName',u'Y',None, None, None, None, u'Formatted',None, u'User or object name to run service as',),
-(u'ServiceInstall',u'StartType',u'N',0,4,None, None, None, None, u'Type of the service',),
-(u'Shortcut',u'Name',u'N',None, None, None, None, u'Filename',None, u'The name of the shortcut to be created.',),
-(u'Shortcut',u'Description',u'Y',None, None, None, None, u'Text',None, u'The description for the shortcut.',),
-(u'Shortcut',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.',),
-(u'Shortcut',u'Icon_',u'Y',None, None, u'Icon',1,u'Identifier',None, u'Foreign key into the File table denoting the external icon file for the shortcut.',),
-(u'Shortcut',u'IconIndex',u'Y',-32767,32767,None, None, None, None, u'The icon index for the shortcut.',),
-(u'Shortcut',u'Directory_',u'N',None, None, u'Directory',1,u'Identifier',None, u'Foreign key into the Directory table denoting the directory where the shortcut file is created.',),
-(u'Shortcut',u'Target',u'N',None, None, None, None, u'Shortcut',None, u'The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.',),
-(u'Shortcut',u'Arguments',u'Y',None, None, None, None, u'Formatted',None, u'The command-line arguments for the shortcut.',),
-(u'Shortcut',u'Shortcut',u'N',None, None, None, None, u'Identifier',None, u'Primary key, non-localized token.',),
-(u'Shortcut',u'Hotkey',u'Y',0,32767,None, None, None, None, u'The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. ',),
-(u'Shortcut',u'ShowCmd',u'Y',None, None, None, None, None, u'1;3;7',u'The show command for the application window.The following values may be used.',),
-(u'Shortcut',u'WkDir',u'Y',None, None, None, None, u'Identifier',None, u'Name of property defining location of working directory.',),
-(u'Signature',u'FileName',u'N',None, None, None, None, u'Filename',None, u'The name of the file. This may contain a "short name|long name" pair.',),
-(u'Signature',u'Signature',u'N',None, None, None, None, u'Identifier',None, u'The table key. The Signature represents a unique file signature.',),
-(u'Signature',u'Languages',u'Y',None, None, None, None, u'Language',None, u'The languages supported by the file.',),
-(u'Signature',u'MaxDate',u'Y',0,2147483647,None, None, None, None, u'The maximum creation date of the file.',),
-(u'Signature',u'MaxSize',u'Y',0,2147483647,None, None, None, None, u'The maximum size of the file. ',),
-(u'Signature',u'MaxVersion',u'Y',None, None, None, None, u'Text',None, u'The maximum version of the file.',),
-(u'Signature',u'MinDate',u'Y',0,2147483647,None, None, None, None, u'The minimum creation date of the file.',),
-(u'Signature',u'MinSize',u'Y',0,2147483647,None, None, None, None, u'The minimum size of the file.',),
-(u'Signature',u'MinVersion',u'Y',None, None, None, None, u'Text',None, u'The minimum version of the file.',),
-(u'TextStyle',u'TextStyle',u'N',None, None, None, None, u'Identifier',None, u'Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.',),
-(u'TextStyle',u'Color',u'Y',0,16777215,None, None, None, None, u'A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).',),
-(u'TextStyle',u'FaceName',u'N',None, None, None, None, u'Text',None, u'A string indicating the name of the font used. Required. The string must be at most 31 characters long.',),
-(u'TextStyle',u'Size',u'N',0,32767,None, None, None, None, u'The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.',),
-(u'TextStyle',u'StyleBits',u'Y',0,15,None, None, None, None, u'A combination of style bits.',),
-(u'TypeLib',u'Description',u'Y',None, None, None, None, u'Text',None, None, ),
-(u'TypeLib',u'Feature_',u'N',None, None, u'Feature',1,u'Identifier',None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.',),
-(u'TypeLib',u'Component_',u'N',None, None, u'Component',1,u'Identifier',None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
-(u'TypeLib',u'Directory_',u'Y',None, None, u'Directory',1,u'Identifier',None, u'Optional. The foreign key into the Directory table denoting the path to the help file for the type library.',),
-(u'TypeLib',u'Language',u'N',0,32767,None, None, None, None, u'The language of the library.',),
-(u'TypeLib',u'Version',u'Y',0,16777215,None, None, None, None, u'The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. ',),
-(u'TypeLib',u'Cost',u'Y',0,2147483647,None, None, None, None, u'The cost associated with the registration of the typelib. This column is currently optional.',),
-(u'TypeLib',u'LibID',u'N',None, None, None, None, u'Guid',None, u'The GUID that represents the library.',),
-(u'UIText',u'Text',u'Y',None, None, None, None, u'Text',None, u'The localized version of the string.',),
-(u'UIText',u'Key',u'N',None, None, None, None, u'Identifier',None, u'A unique key that identifies the particular string.',),
-(u'Upgrade',u'Attributes',u'N',0,2147483647,None, None, None, None, u'The attributes of this product set.',),
-(u'Upgrade',u'Language',u'Y',None, None, None, None, u'Language',None, u'A comma-separated list of languages for either products in this set or products not in this set.',),
-(u'Upgrade',u'ActionProperty',u'N',None, None, None, None, u'UpperCase',None, u'The property to set when a product in this set is found.',),
-(u'Upgrade',u'Remove',u'Y',None, None, None, None, u'Formatted',None, u'The list of features to remove when uninstalling a product from this set.  The default is "ALL".',),
-(u'Upgrade',u'UpgradeCode',u'N',None, None, None, None, u'Guid',None, u'The UpgradeCode GUID belonging to the products in this set.',),
-(u'Upgrade',u'VersionMax',u'Y',None, None, None, None, u'Text',None, u'The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.',),
-(u'Upgrade',u'VersionMin',u'Y',None, None, None, None, u'Text',None, u'The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.',),
-(u'Verb',u'Sequence',u'Y',0,32767,None, None, None, None, u'Order within the verbs for a particular extension. Also used simply to specify the default verb.',),
-(u'Verb',u'Argument',u'Y',None, None, None, None, u'Formatted',None, u'Optional value for the command arguments.',),
-(u'Verb',u'Extension_',u'N',None, None, u'Extension',1,u'Text',None, u'The extension associated with the table row.',),
-(u'Verb',u'Verb',u'N',None, None, None, None, u'Text',None, u'The verb for the command.',),
-(u'Verb',u'Command',u'Y',None, None, None, None, u'Formatted',None, u'The command text.',),
+('_Validation','Table','N',None, None, None, None, 'Identifier',None, 'Name of table',),
+('_Validation','Column','N',None, None, None, None, 'Identifier',None, 'Name of column',),
+('_Validation','Description','Y',None, None, None, None, 'Text',None, 'Description of column',),
+('_Validation','Set','Y',None, None, None, None, 'Text',None, 'Set of values that are permitted',),
+('_Validation','Category','Y',None, None, None, None, None, 'Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URL','String category',),
+('_Validation','KeyColumn','Y',1,32,None, None, None, None, 'Column to which foreign key connects',),
+('_Validation','KeyTable','Y',None, None, None, None, 'Identifier',None, 'For foreign key, Name of table to which data must link',),
+('_Validation','MaxValue','Y',-2147483647,2147483647,None, None, None, None, 'Maximum value allowed',),
+('_Validation','MinValue','Y',-2147483647,2147483647,None, None, None, None, 'Minimum value allowed',),
+('_Validation','Nullable','N',None, None, None, None, None, 'Y;N;@','Whether the column is nullable',),
+('ActionText','Description','Y',None, None, None, None, 'Text',None, 'Localized description displayed in progress dialog and log when action is executing.',),
+('ActionText','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to be described.',),
+('ActionText','Template','Y',None, None, None, None, 'Template',None, 'Optional localized format template used to format action data records for display during action execution.',),
+('AdminExecuteSequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('AdminExecuteSequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('AdminExecuteSequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('Condition','Condition','Y',None, None, None, None, 'Condition',None, 'Expression evaluated to determine if Level in the Feature table is to change.',),
+('Condition','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Reference to a Feature entry in Feature table.',),
+('Condition','Level','N',0,32767,None, None, None, None, 'New selection Level to set in Feature table if Condition evaluates to TRUE.',),
+('AdminUISequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('AdminUISequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('AdminUISequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('AdvtExecuteSequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('AdvtExecuteSequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('AdvtExecuteSequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('AdvtUISequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('AdvtUISequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('AdvtUISequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('AppId','AppId','N',None, None, None, None, 'Guid',None, None, ),
+('AppId','ActivateAtStorage','Y',0,1,None, None, None, None, None, ),
+('AppId','DllSurrogate','Y',None, None, None, None, 'Text',None, None, ),
+('AppId','LocalService','Y',None, None, None, None, 'Text',None, None, ),
+('AppId','RemoteServerName','Y',None, None, None, None, 'Formatted',None, None, ),
+('AppId','RunAsInteractiveUser','Y',0,1,None, None, None, None, None, ),
+('AppId','ServiceParameters','Y',None, None, None, None, 'Text',None, None, ),
+('AppSearch','Property','N',None, None, None, None, 'Identifier',None, 'The property associated with a Signature',),
+('AppSearch','Signature_','N',None, None, 'Signature;RegLocator;IniLocator;DrLocator;CompLocator',1,'Identifier',None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.',),
+('Property','Property','N',None, None, None, None, 'Identifier',None, 'Name of property, uppercase if settable by launcher or loader.',),
+('Property','Value','N',None, None, None, None, 'Text',None, 'String value for property.  Never null or empty.',),
+('BBControl','Type','N',None, None, None, None, 'Identifier',None, 'The type of the control.',),
+('BBControl','Y','N',0,32767,None, None, None, None, 'Vertical coordinate of the upper left corner of the bounding rectangle of the control.',),
+('BBControl','Text','Y',None, None, None, None, 'Text',None, 'A string used to set the initial text contained within a control (if appropriate).',),
+('BBControl','BBControl','N',None, None, None, None, 'Identifier',None, 'Name of the control. This name must be unique within a billboard, but can repeat on different billboard.',),
+('BBControl','Attributes','Y',0,2147483647,None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this control.',),
+('BBControl','Billboard_','N',None, None, 'Billboard',1,'Identifier',None, 'External key to the Billboard table, name of the billboard.',),
+('BBControl','Height','N',0,32767,None, None, None, None, 'Height of the bounding rectangle of the control.',),
+('BBControl','Width','N',0,32767,None, None, None, None, 'Width of the bounding rectangle of the control.',),
+('BBControl','X','N',0,32767,None, None, None, None, 'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.',),
+('Billboard','Action','Y',None, None, None, None, 'Identifier',None, 'The name of an action. The billboard is displayed during the progress messages received from this action.',),
+('Billboard','Billboard','N',None, None, None, None, 'Identifier',None, 'Name of the billboard.',),
+('Billboard','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'An external key to the Feature Table. The billboard is shown only if this feature is being installed.',),
+('Billboard','Ordering','Y',0,32767,None, None, None, None, 'A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.',),
+('Feature','Description','Y',None, None, None, None, 'Text',None, 'Longer descriptive text describing a visible feature item.',),
+('Feature','Attributes','N',None, None, None, None, None, '0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54','Feature attributes',),
+('Feature','Feature','N',None, None, None, None, 'Identifier',None, 'Primary key used to identify a particular feature record.',),
+('Feature','Directory_','Y',None, None, 'Directory',1,'UpperCase',None, 'The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.',),
+('Feature','Level','N',0,32767,None, None, None, None, 'The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.',),
+('Feature','Title','Y',None, None, None, None, 'Text',None, 'Short text identifying a visible feature item.',),
+('Feature','Display','Y',0,32767,None, None, None, None, 'Numeric sort order, used to force a specific display ordering.',),
+('Feature','Feature_Parent','Y',None, None, 'Feature',1,'Identifier',None, 'Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.',),
+('Binary','Name','N',None, None, None, None, 'Identifier',None, 'Unique key identifying the binary data.',),
+('Binary','Data','N',None, None, None, None, 'Binary',None, 'The unformatted binary data.',),
+('BindImage','File_','N',None, None, 'File',1,'Identifier',None, 'The index into the File table. This must be an executable file.',),
+('BindImage','Path','Y',None, None, None, None, 'Paths',None, 'A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .',),
+('File','Sequence','N',1,32767,None, None, None, None, 'Sequence with respect to the media images; order must track cabinet order.',),
+('File','Attributes','Y',0,32767,None, None, None, None, 'Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)',),
+('File','File','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.',),
+('File','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key referencing Component that controls the file.',),
+('File','FileName','N',None, None, None, None, 'Filename',None, 'File name used for installation, may be localized.  This may contain a "short name|long name" pair.',),
+('File','FileSize','N',0,2147483647,None, None, None, None, 'Size of file in bytes (long integer).',),
+('File','Language','Y',None, None, None, None, 'Language',None, 'List of decimal language Ids, comma-separated if more than one.',),
+('File','Version','Y',None, None, 'File',1,'Version',None, 'Version string for versioned files;  Blank for unversioned files.',),
+('CCPSearch','Signature_','N',None, None, 'Signature;RegLocator;IniLocator;DrLocator;CompLocator',1,'Identifier',None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.',),
+('CheckBox','Property','N',None, None, None, None, 'Identifier',None, 'A named property to be tied to the item.',),
+('CheckBox','Value','Y',None, None, None, None, 'Formatted',None, 'The value string associated with the item.',),
+('Class','Description','Y',None, None, None, None, 'Text',None, 'Localized description for the Class.',),
+('Class','Attributes','Y',None, 32767,None, None, None, None, 'Class registration attributes.',),
+('Class','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.',),
+('Class','AppId_','Y',None, None, 'AppId',1,'Guid',None, 'Optional AppID containing DCOM information for associated application (string GUID).',),
+('Class','Argument','Y',None, None, None, None, 'Formatted',None, 'optional argument for LocalServers.',),
+('Class','CLSID','N',None, None, None, None, 'Guid',None, 'The CLSID of an OLE factory.',),
+('Class','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
+('Class','Context','N',None, None, None, None, 'Identifier',None, 'The numeric server context for this server. CLSCTX_xxxx',),
+('Class','DefInprocHandler','Y',None, None, None, None, 'Filename','1;2;3','Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"',),
+('Class','FileTypeMask','Y',None, None, None, None, 'Text',None, 'Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...',),
+('Class','Icon_','Y',None, None, 'Icon',1,'Identifier',None, 'Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.',),
+('Class','IconIndex','Y',-32767,32767,None, None, None, None, 'Optional icon index.',),
+('Class','ProgId_Default','Y',None, None, 'ProgId',1,'Text',None, 'Optional ProgId associated with this CLSID.',),
+('Component','Condition','Y',None, None, None, None, 'Condition',None, "A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component.",),
+('Component','Attributes','N',None, None, None, None, None, None, 'Remote execution option, one of irsEnum',),
+('Component','Component','N',None, None, None, None, 'Identifier',None, 'Primary key used to identify a particular component record.',),
+('Component','ComponentId','Y',None, None, None, None, 'Guid',None, 'A string GUID unique to this component, version, and language.',),
+('Component','Directory_','N',None, None, 'Directory',1,'Identifier',None, 'Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.',),
+('Component','KeyPath','Y',None, None, 'File;Registry;ODBCDataSource',1,'Identifier',None, 'Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.',),
+('Icon','Name','N',None, None, None, None, 'Identifier',None, 'Primary key. Name of the icon file.',),
+('Icon','Data','N',None, None, None, None, 'Binary',None, 'Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.',),
+('ProgId','Description','Y',None, None, None, None, 'Text',None, 'Localized description for the Program identifier.',),
+('ProgId','Icon_','Y',None, None, 'Icon',1,'Identifier',None, 'Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.',),
+('ProgId','IconIndex','Y',-32767,32767,None, None, None, None, 'Optional icon index.',),
+('ProgId','ProgId','N',None, None, None, None, 'Text',None, 'The Program Identifier. Primary key.',),
+('ProgId','Class_','Y',None, None, 'Class',1,'Guid',None, 'The CLSID of an OLE factory corresponding to the ProgId.',),
+('ProgId','ProgId_Parent','Y',None, None, 'ProgId',1,'Text',None, 'The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.',),
+('ComboBox','Text','Y',None, None, None, None, 'Formatted',None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
+('ComboBox','Property','N',None, None, None, None, 'Identifier',None, 'A named property to be tied to this item. All the items tied to the same property become part of the same combobox.',),
+('ComboBox','Value','N',None, None, None, None, 'Formatted',None, 'The value string associated with this item. Selecting the line will set the associated property to this value.',),
+('ComboBox','Order','N',1,32767,None, None, None, None, 'A positive integer used to determine the ordering of the items within one list.\tThe integers do not have to be consecutive.',),
+('CompLocator','Type','Y',0,1,None, None, None, None, 'A boolean value that determines if the registry value is a filename or a directory location.',),
+('CompLocator','Signature_','N',None, None, None, None, 'Identifier',None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
+('CompLocator','ComponentId','N',None, None, None, None, 'Guid',None, 'A string GUID unique to this component, version, and language.',),
+('Complus','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key referencing Component that controls the ComPlus component.',),
+('Complus','ExpType','Y',0,32767,None, None, None, None, 'ComPlus component attributes.',),
+('Directory','Directory','N',None, None, None, None, 'Identifier',None, 'Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.',),
+('Directory','DefaultDir','N',None, None, None, None, 'DefaultDir',None, "The default sub-path under parent's path.",),
+('Directory','Directory_Parent','Y',None, None, 'Directory',1,'Identifier',None, 'Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.',),
+('Control','Type','N',None, None, None, None, 'Identifier',None, 'The type of the control.',),
+('Control','Y','N',0,32767,None, None, None, None, 'Vertical coordinate of the upper left corner of the bounding rectangle of the control.',),
+('Control','Text','Y',None, None, None, None, 'Formatted',None, 'A string used to set the initial text contained within a control (if appropriate).',),
+('Control','Property','Y',None, None, None, None, 'Identifier',None, 'The name of a defined property to be linked to this control. ',),
+('Control','Attributes','Y',0,2147483647,None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this control.',),
+('Control','Height','N',0,32767,None, None, None, None, 'Height of the bounding rectangle of the control.',),
+('Control','Width','N',0,32767,None, None, None, None, 'Width of the bounding rectangle of the control.',),
+('Control','X','N',0,32767,None, None, None, None, 'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.',),
+('Control','Control','N',None, None, None, None, 'Identifier',None, 'Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. ',),
+('Control','Control_Next','Y',None, None, 'Control',2,'Identifier',None, 'The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!',),
+('Control','Dialog_','N',None, None, 'Dialog',1,'Identifier',None, 'External key to the Dialog table, name of the dialog.',),
+('Control','Help','Y',None, None, None, None, 'Text',None, 'The help strings used with the button. The text is optional. ',),
+('Dialog','Attributes','Y',0,2147483647,None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this dialog.',),
+('Dialog','Height','N',0,32767,None, None, None, None, 'Height of the bounding rectangle of the dialog.',),
+('Dialog','Width','N',0,32767,None, None, None, None, 'Width of the bounding rectangle of the dialog.',),
+('Dialog','Dialog','N',None, None, None, None, 'Identifier',None, 'Name of the dialog.',),
+('Dialog','Control_Cancel','Y',None, None, 'Control',2,'Identifier',None, 'Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.',),
+('Dialog','Control_Default','Y',None, None, 'Control',2,'Identifier',None, 'Defines the default control. Hitting return is equivalent to pushing this button.',),
+('Dialog','Control_First','N',None, None, 'Control',2,'Identifier',None, 'Defines the control that has the focus when the dialog is created.',),
+('Dialog','HCentering','N',0,100,None, None, None, None, 'Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.',),
+('Dialog','Title','Y',None, None, None, None, 'Formatted',None, "A text string specifying the title to be displayed in the title bar of the dialog's window.",),
+('Dialog','VCentering','N',0,100,None, None, None, None, 'Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.',),
+('ControlCondition','Action','N',None, None, None, None, None, 'Default;Disable;Enable;Hide;Show','The desired action to be taken on the specified control.',),
+('ControlCondition','Condition','N',None, None, None, None, 'Condition',None, 'A standard conditional statement that specifies under which conditions the action should be triggered.',),
+('ControlCondition','Dialog_','N',None, None, 'Dialog',1,'Identifier',None, 'A foreign key to the Dialog table, name of the dialog.',),
+('ControlCondition','Control_','N',None, None, 'Control',2,'Identifier',None, 'A foreign key to the Control table, name of the control.',),
+('ControlEvent','Condition','Y',None, None, None, None, 'Condition',None, 'A standard conditional statement that specifies under which conditions an event should be triggered.',),
+('ControlEvent','Ordering','Y',0,2147483647,None, None, None, None, 'An integer used to order several events tied to the same control. Can be left blank.',),
+('ControlEvent','Argument','N',None, None, None, None, 'Formatted',None, 'A value to be used as a modifier when triggering a particular event.',),
+('ControlEvent','Dialog_','N',None, None, 'Dialog',1,'Identifier',None, 'A foreign key to the Dialog table, name of the dialog.',),
+('ControlEvent','Control_','N',None, None, 'Control',2,'Identifier',None, 'A foreign key to the Control table, name of the control',),
+('ControlEvent','Event','N',None, None, None, None, 'Formatted',None, 'An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.',),
+('CreateFolder','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table.',),
+('CreateFolder','Directory_','N',None, None, 'Directory',1,'Identifier',None, 'Primary key, could be foreign key into the Directory table.',),
+('CustomAction','Type','N',1,16383,None, None, None, None, 'The numeric custom action type, consisting of source location, code type, entry, option flags.',),
+('CustomAction','Action','N',None, None, None, None, 'Identifier',None, 'Primary key, name of action, normally appears in sequence table unless private use.',),
+('CustomAction','Source','Y',None, None, None, None, 'CustomSource',None, 'The table reference of the source of the code.',),
+('CustomAction','Target','Y',None, None, None, None, 'Formatted',None, 'Excecution parameter, depends on the type of custom action',),
+('DrLocator','Signature_','N',None, None, None, None, 'Identifier',None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
+('DrLocator','Path','Y',None, None, None, None, 'AnyPath',None, 'The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.',),
+('DrLocator','Depth','Y',0,32767,None, None, None, None, 'The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.',),
+('DrLocator','Parent','Y',None, None, None, None, 'Identifier',None, 'The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.',),
+('DuplicateFile','File_','N',None, None, 'File',1,'Identifier',None, 'Foreign key referencing the source file to be duplicated.',),
+('DuplicateFile','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key referencing Component that controls the duplicate file.',),
+('DuplicateFile','DestFolder','Y',None, None, None, None, 'Identifier',None, 'Name of a property whose value is assumed to resolve to the full pathname to a destination folder.',),
+('DuplicateFile','DestName','Y',None, None, None, None, 'Filename',None, 'Filename to be given to the duplicate file.',),
+('DuplicateFile','FileKey','N',None, None, None, None, 'Identifier',None, 'Primary key used to identify a particular file entry',),
+('Environment','Name','N',None, None, None, None, 'Text',None, 'The name of the environmental value.',),
+('Environment','Value','Y',None, None, None, None, 'Formatted',None, 'The value to set in the environmental settings.',),
+('Environment','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table referencing component that controls the installing of the environmental value.',),
+('Environment','Environment','N',None, None, None, None, 'Identifier',None, 'Unique identifier for the environmental variable setting',),
+('Error','Error','N',0,32767,None, None, None, None, 'Integer error number, obtained from header file IError(...) macros.',),
+('Error','Message','Y',None, None, None, None, 'Template',None, 'Error formatting template, obtained from user ed. or localizers.',),
+('EventMapping','Dialog_','N',None, None, 'Dialog',1,'Identifier',None, 'A foreign key to the Dialog table, name of the Dialog.',),
+('EventMapping','Control_','N',None, None, 'Control',2,'Identifier',None, 'A foreign key to the Control table, name of the control.',),
+('EventMapping','Event','N',None, None, None, None, 'Identifier',None, 'An identifier that specifies the type of the event that the control subscribes to.',),
+('EventMapping','Attribute','N',None, None, None, None, 'Identifier',None, 'The name of the control attribute, that is set when this event is received.',),
+('Extension','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.',),
+('Extension','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
+('Extension','Extension','N',None, None, None, None, 'Text',None, 'The extension associated with the table row.',),
+('Extension','MIME_','Y',None, None, 'MIME',1,'Text',None, 'Optional Context identifier, typically "type/format" associated with the extension',),
+('Extension','ProgId_','Y',None, None, 'ProgId',1,'Text',None, 'Optional ProgId associated with this extension.',),
+('MIME','CLSID','Y',None, None, None, None, 'Guid',None, 'Optional associated CLSID.',),
+('MIME','ContentType','N',None, None, None, None, 'Text',None, 'Primary key. Context identifier, typically "type/format".',),
+('MIME','Extension_','N',None, None, 'Extension',1,'Text',None, 'Optional associated extension (without dot)',),
+('FeatureComponents','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Foreign key into Feature table.',),
+('FeatureComponents','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into Component table.',),
+('FileSFPCatalog','File_','N',None, None, 'File',1,'Identifier',None, 'File associated with the catalog',),
+('FileSFPCatalog','SFPCatalog_','N',None, None, 'SFPCatalog',1,'Filename',None, 'Catalog associated with the file',),
+('SFPCatalog','SFPCatalog','N',None, None, None, None, 'Filename',None, 'File name for the catalog.',),
+('SFPCatalog','Catalog','N',None, None, None, None, 'Binary',None, 'SFP Catalog',),
+('SFPCatalog','Dependency','Y',None, None, None, None, 'Formatted',None, 'Parent catalog - only used by SFP',),
+('Font','File_','N',None, None, 'File',1,'Identifier',None, 'Primary key, foreign key into File table referencing font file.',),
+('Font','FontTitle','Y',None, None, None, None, 'Text',None, 'Font name.',),
+('IniFile','Action','N',None, None, None, None, None, '0;1;3','The type of modification to be made, one of iifEnum',),
+('IniFile','Value','N',None, None, None, None, 'Formatted',None, 'The value to be written.',),
+('IniFile','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table referencing component that controls the installing of the .INI value.',),
+('IniFile','FileName','N',None, None, None, None, 'Filename',None, 'The .INI file name in which to write the information',),
+('IniFile','IniFile','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('IniFile','DirProperty','Y',None, None, None, None, 'Identifier',None, 'Foreign key into the Directory table denoting the directory where the .INI file is.',),
+('IniFile','Key','N',None, None, None, None, 'Formatted',None, 'The .INI file key below Section.',),
+('IniFile','Section','N',None, None, None, None, 'Formatted',None, 'The .INI file Section.',),
+('IniLocator','Type','Y',0,2,None, None, None, None, 'An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.',),
+('IniLocator','Signature_','N',None, None, None, None, 'Identifier',None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.',),
+('IniLocator','FileName','N',None, None, None, None, 'Filename',None, 'The .INI file name.',),
+('IniLocator','Key','N',None, None, None, None, 'Text',None, 'Key value (followed by an equals sign in INI file).',),
+('IniLocator','Section','N',None, None, None, None, 'Text',None, 'Section name within in file (within square brackets in INI file).',),
+('IniLocator','Field','Y',0,32767,None, None, None, None, 'The field in the .INI line. If Field is null or 0 the entire line is read.',),
+('InstallExecuteSequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('InstallExecuteSequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('InstallExecuteSequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('InstallUISequence','Action','N',None, None, None, None, 'Identifier',None, 'Name of action to invoke, either in the engine or the handler DLL.',),
+('InstallUISequence','Condition','Y',None, None, None, None, 'Condition',None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.',),
+('InstallUISequence','Sequence','Y',-4,32767,None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.',),
+('IsolatedComponent','Component_Application','N',None, None, 'Component',1,'Identifier',None, 'Key to Component table item for application',),
+('IsolatedComponent','Component_Shared','N',None, None, 'Component',1,'Identifier',None, 'Key to Component table item to be isolated',),
+('LaunchCondition','Description','N',None, None, None, None, 'Formatted',None, 'Localizable text to display when condition fails and install must abort.',),
+('LaunchCondition','Condition','N',None, None, None, None, 'Condition',None, 'Expression which must evaluate to TRUE in order for install to commence.',),
+('ListBox','Text','Y',None, None, None, None, 'Text',None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
+('ListBox','Property','N',None, None, None, None, 'Identifier',None, 'A named property to be tied to this item. All the items tied to the same property become part of the same listbox.',),
+('ListBox','Value','N',None, None, None, None, 'Formatted',None, 'The value string associated with this item. Selecting the line will set the associated property to this value.',),
+('ListBox','Order','N',1,32767,None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
+('ListView','Text','Y',None, None, None, None, 'Text',None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.',),
+('ListView','Property','N',None, None, None, None, 'Identifier',None, 'A named property to be tied to this item. All the items tied to the same property become part of the same listview.',),
+('ListView','Value','N',None, None, None, None, 'Identifier',None, 'The value string associated with this item. Selecting the line will set the associated property to this value.',),
+('ListView','Order','N',1,32767,None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
+('ListView','Binary_','Y',None, None, 'Binary',1,'Identifier',None, 'The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.',),
+('LockPermissions','Table','N',None, None, None, None, 'Identifier','Directory;File;Registry','Reference to another table name',),
+('LockPermissions','Domain','Y',None, None, None, None, 'Formatted',None, 'Domain name for user whose permissions are being set. (usually a property)',),
+('LockPermissions','LockObject','N',None, None, None, None, 'Identifier',None, 'Foreign key into Registry or File table',),
+('LockPermissions','Permission','Y',-2147483647,2147483647,None, None, None, None, 'Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)',),
+('LockPermissions','User','N',None, None, None, None, 'Formatted',None, 'User for permissions to be set.  (usually a property)',),
+('Media','Source','Y',None, None, None, None, 'Property',None, 'The property defining the location of the cabinet file.',),
+('Media','Cabinet','Y',None, None, None, None, 'Cabinet',None, 'If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.',),
+('Media','DiskId','N',1,32767,None, None, None, None, 'Primary key, integer to determine sort order for table.',),
+('Media','DiskPrompt','Y',None, None, None, None, 'Text',None, 'Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.',),
+('Media','LastSequence','N',0,32767,None, None, None, None, 'File sequence number for the last file for this media.',),
+('Media','VolumeLabel','Y',None, None, None, None, 'Text',None, 'The label attributed to the volume.',),
+('ModuleComponents','Component','N',None, None, 'Component',1,'Identifier',None, 'Component contained in the module.',),
+('ModuleComponents','Language','N',None, None, 'ModuleSignature',2,None, None, 'Default language ID for module (may be changed by transform).',),
+('ModuleComponents','ModuleID','N',None, None, 'ModuleSignature',1,'Identifier',None, 'Module containing the component.',),
+('ModuleSignature','Language','N',None, None, None, None, None, None, 'Default decimal language of module.',),
+('ModuleSignature','Version','N',None, None, None, None, 'Version',None, 'Version of the module.',),
+('ModuleSignature','ModuleID','N',None, None, None, None, 'Identifier',None, 'Module identifier (String.GUID).',),
+('ModuleDependency','ModuleID','N',None, None, 'ModuleSignature',1,'Identifier',None, 'Module requiring the dependency.',),
+('ModuleDependency','ModuleLanguage','N',None, None, 'ModuleSignature',2,None, None, 'Language of module requiring the dependency.',),
+('ModuleDependency','RequiredID','N',None, None, None, None, None, None, 'String.GUID of required module.',),
+('ModuleDependency','RequiredLanguage','N',None, None, None, None, None, None, 'LanguageID of the required module.',),
+('ModuleDependency','RequiredVersion','Y',None, None, None, None, 'Version',None, 'Version of the required version.',),
+('ModuleExclusion','ModuleID','N',None, None, 'ModuleSignature',1,'Identifier',None, 'String.GUID of module with exclusion requirement.',),
+('ModuleExclusion','ModuleLanguage','N',None, None, 'ModuleSignature',2,None, None, 'LanguageID of module with exclusion requirement.',),
+('ModuleExclusion','ExcludedID','N',None, None, None, None, None, None, 'String.GUID of excluded module.',),
+('ModuleExclusion','ExcludedLanguage','N',None, None, None, None, None, None, 'Language of excluded module.',),
+('ModuleExclusion','ExcludedMaxVersion','Y',None, None, None, None, 'Version',None, 'Maximum version of excluded module.',),
+('ModuleExclusion','ExcludedMinVersion','Y',None, None, None, None, 'Version',None, 'Minimum version of excluded module.',),
+('MoveFile','Component_','N',None, None, 'Component',1,'Identifier',None, 'If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry',),
+('MoveFile','DestFolder','N',None, None, None, None, 'Identifier',None, 'Name of a property whose value is assumed to resolve to the full path to the destination directory',),
+('MoveFile','DestName','Y',None, None, None, None, 'Filename',None, 'Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file',),
+('MoveFile','FileKey','N',None, None, None, None, 'Identifier',None, 'Primary key that uniquely identifies a particular MoveFile record',),
+('MoveFile','Options','N',0,1,None, None, None, None, 'Integer value specifying the MoveFile operating mode, one of imfoEnum',),
+('MoveFile','SourceFolder','Y',None, None, None, None, 'Identifier',None, 'Name of a property whose value is assumed to resolve to the full path to the source directory',),
+('MoveFile','SourceName','Y',None, None, None, None, 'Text',None, "Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards.",),
+('MsiAssembly','Attributes','Y',None, None, None, None, None, None, 'Assembly attributes',),
+('MsiAssembly','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Foreign key into Feature table.',),
+('MsiAssembly','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into Component table.',),
+('MsiAssembly','File_Application','Y',None, None, 'File',1,'Identifier',None, 'Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.',),
+('MsiAssembly','File_Manifest','Y',None, None, 'File',1,'Identifier',None, 'Foreign key into the File table denoting the manifest file for the assembly.',),
+('MsiAssemblyName','Name','N',None, None, None, None, 'Text',None, 'The name part of the name-value pairs for the assembly name.',),
+('MsiAssemblyName','Value','N',None, None, None, None, 'Text',None, 'The value part of the name-value pairs for the assembly name.',),
+('MsiAssemblyName','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into Component table.',),
+('MsiDigitalCertificate','CertData','N',None, None, None, None, 'Binary',None, 'A certificate context blob for a signer certificate',),
+('MsiDigitalCertificate','DigitalCertificate','N',None, None, None, None, 'Identifier',None, 'A unique identifier for the row',),
+('MsiDigitalSignature','Table','N',None, None, None, None, None, 'Media','Reference to another table name (only Media table is supported)',),
+('MsiDigitalSignature','DigitalCertificate_','N',None, None, 'MsiDigitalCertificate',1,'Identifier',None, 'Foreign key to MsiDigitalCertificate table identifying the signer certificate',),
+('MsiDigitalSignature','Hash','Y',None, None, None, None, 'Binary',None, 'The encoded hash blob from the digital signature',),
+('MsiDigitalSignature','SignObject','N',None, None, None, None, 'Text',None, 'Foreign key to Media table',),
+('MsiFileHash','File_','N',None, None, 'File',1,'Identifier',None, 'Primary key, foreign key into File table referencing file with this hash',),
+('MsiFileHash','Options','N',0,32767,None, None, None, None, 'Various options and attributes for this hash.',),
+('MsiFileHash','HashPart1','N',None, None, None, None, None, None, 'Size of file in bytes (long integer).',),
+('MsiFileHash','HashPart2','N',None, None, None, None, None, None, 'Size of file in bytes (long integer).',),
+('MsiFileHash','HashPart3','N',None, None, None, None, None, None, 'Size of file in bytes (long integer).',),
+('MsiFileHash','HashPart4','N',None, None, None, None, None, None, 'Size of file in bytes (long integer).',),
+('MsiPatchHeaders','StreamRef','N',None, None, None, None, 'Identifier',None, 'Primary key. A unique identifier for the row.',),
+('MsiPatchHeaders','Header','N',None, None, None, None, 'Binary',None, 'Binary stream. The patch header, used for patch validation.',),
+('ODBCAttribute','Value','Y',None, None, None, None, 'Text',None, 'Value for ODBC driver attribute',),
+('ODBCAttribute','Attribute','N',None, None, None, None, 'Text',None, 'Name of ODBC driver attribute',),
+('ODBCAttribute','Driver_','N',None, None, 'ODBCDriver',1,'Identifier',None, 'Reference to ODBC driver in ODBCDriver table',),
+('ODBCDriver','Description','N',None, None, None, None, 'Text',None, 'Text used as registered name for driver, non-localized',),
+('ODBCDriver','File_','N',None, None, 'File',1,'Identifier',None, 'Reference to key driver file',),
+('ODBCDriver','Component_','N',None, None, 'Component',1,'Identifier',None, 'Reference to associated component',),
+('ODBCDriver','Driver','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized.internal token for driver',),
+('ODBCDriver','File_Setup','Y',None, None, 'File',1,'Identifier',None, 'Optional reference to key driver setup DLL',),
+('ODBCDataSource','Description','N',None, None, None, None, 'Text',None, 'Text used as registered name for data source',),
+('ODBCDataSource','Component_','N',None, None, 'Component',1,'Identifier',None, 'Reference to associated component',),
+('ODBCDataSource','DataSource','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized.internal token for data source',),
+('ODBCDataSource','DriverDescription','N',None, None, None, None, 'Text',None, 'Reference to driver description, may be existing driver',),
+('ODBCDataSource','Registration','N',0,1,None, None, None, None, 'Registration option: 0=machine, 1=user, others t.b.d.',),
+('ODBCSourceAttribute','Value','Y',None, None, None, None, 'Text',None, 'Value for ODBC data source attribute',),
+('ODBCSourceAttribute','Attribute','N',None, None, None, None, 'Text',None, 'Name of ODBC data source attribute',),
+('ODBCSourceAttribute','DataSource_','N',None, None, 'ODBCDataSource',1,'Identifier',None, 'Reference to ODBC data source in ODBCDataSource table',),
+('ODBCTranslator','Description','N',None, None, None, None, 'Text',None, 'Text used as registered name for translator',),
+('ODBCTranslator','File_','N',None, None, 'File',1,'Identifier',None, 'Reference to key translator file',),
+('ODBCTranslator','Component_','N',None, None, 'Component',1,'Identifier',None, 'Reference to associated component',),
+('ODBCTranslator','File_Setup','Y',None, None, 'File',1,'Identifier',None, 'Optional reference to key translator setup DLL',),
+('ODBCTranslator','Translator','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized.internal token for translator',),
+('Patch','Sequence','N',0,32767,None, None, None, None, 'Primary key, sequence with respect to the media images; order must track cabinet order.',),
+('Patch','Attributes','N',0,32767,None, None, None, None, 'Integer containing bit flags representing patch attributes',),
+('Patch','File_','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.',),
+('Patch','Header','Y',None, None, None, None, 'Binary',None, 'Binary stream. The patch header, used for patch validation.',),
+('Patch','PatchSize','N',0,2147483647,None, None, None, None, 'Size of patch in bytes (long integer).',),
+('Patch','StreamRef_','Y',None, None, None, None, 'Identifier',None, 'Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table.',),
+('PatchPackage','Media_','N',0,32767,None, None, None, None, 'Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.',),
+('PatchPackage','PatchId','N',None, None, None, None, 'Guid',None, 'A unique string GUID representing this patch.',),
+('PublishComponent','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Foreign key into the Feature table.',),
+('PublishComponent','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table.',),
+('PublishComponent','ComponentId','N',None, None, None, None, 'Guid',None, 'A string GUID that represents the component id that will be requested by the alien product.',),
+('PublishComponent','AppData','Y',None, None, None, None, 'Text',None, 'This is localisable Application specific data that can be associated with a Qualified Component.',),
+('PublishComponent','Qualifier','N',None, None, None, None, 'Text',None, 'This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.',),
+('RadioButton','Y','N',0,32767,None, None, None, None, 'The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.',),
+('RadioButton','Text','Y',None, None, None, None, 'Text',None, 'The visible title to be assigned to the radio button.',),
+('RadioButton','Property','N',None, None, None, None, 'Identifier',None, 'A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.',),
+('RadioButton','Height','N',0,32767,None, None, None, None, 'The height of the button.',),
+('RadioButton','Width','N',0,32767,None, None, None, None, 'The width of the button.',),
+('RadioButton','X','N',0,32767,None, None, None, None, 'The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.',),
+('RadioButton','Value','N',None, None, None, None, 'Formatted',None, 'The value string associated with this button. Selecting the button will set the associated property to this value.',),
+('RadioButton','Order','N',1,32767,None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.',),
+('RadioButton','Help','Y',None, None, None, None, 'Text',None, 'The help strings used with the button. The text is optional.',),
+('Registry','Name','Y',None, None, None, None, 'Formatted',None, 'The registry value name.',),
+('Registry','Value','Y',None, None, None, None, 'Formatted',None, 'The registry value.',),
+('Registry','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table referencing component that controls the installing of the registry value.',),
+('Registry','Key','N',None, None, None, None, 'RegPath',None, 'The key for the registry value.',),
+('Registry','Registry','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('Registry','Root','N',-1,3,None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum.',),
+('RegLocator','Name','Y',None, None, None, None, 'Formatted',None, 'The registry value name.',),
+('RegLocator','Type','Y',0,18,None, None, None, None, 'An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.',),
+('RegLocator','Signature_','N',None, None, None, None, 'Identifier',None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.',),
+('RegLocator','Key','N',None, None, None, None, 'RegPath',None, 'The key for the registry value.',),
+('RegLocator','Root','N',0,3,None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum.',),
+('RemoveFile','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key referencing Component that controls the file to be removed.',),
+('RemoveFile','FileKey','N',None, None, None, None, 'Identifier',None, 'Primary key used to identify a particular file entry',),
+('RemoveFile','FileName','Y',None, None, None, None, 'WildCardFilename',None, 'Name of the file to be removed.',),
+('RemoveFile','DirProperty','N',None, None, None, None, 'Identifier',None, 'Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.',),
+('RemoveFile','InstallMode','N',None, None, None, None, None, '1;2;3','Installation option, one of iimEnum.',),
+('RemoveIniFile','Action','N',None, None, None, None, None, '2;4','The type of modification to be made, one of iifEnum.',),
+('RemoveIniFile','Value','Y',None, None, None, None, 'Formatted',None, 'The value to be deleted. The value is required when Action is iifIniRemoveTag',),
+('RemoveIniFile','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table referencing component that controls the deletion of the .INI value.',),
+('RemoveIniFile','FileName','N',None, None, None, None, 'Filename',None, 'The .INI file name in which to delete the information',),
+('RemoveIniFile','DirProperty','Y',None, None, None, None, 'Identifier',None, 'Foreign key into the Directory table denoting the directory where the .INI file is.',),
+('RemoveIniFile','Key','N',None, None, None, None, 'Formatted',None, 'The .INI file key below Section.',),
+('RemoveIniFile','Section','N',None, None, None, None, 'Formatted',None, 'The .INI file Section.',),
+('RemoveIniFile','RemoveIniFile','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('RemoveRegistry','Name','Y',None, None, None, None, 'Formatted',None, 'The registry value name.',),
+('RemoveRegistry','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table referencing component that controls the deletion of the registry value.',),
+('RemoveRegistry','Key','N',None, None, None, None, 'RegPath',None, 'The key for the registry value.',),
+('RemoveRegistry','Root','N',-1,3,None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum',),
+('RemoveRegistry','RemoveRegistry','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('ReserveCost','Component_','N',None, None, 'Component',1,'Identifier',None, 'Reserve a specified amount of space if this component is to be installed.',),
+('ReserveCost','ReserveFolder','Y',None, None, None, None, 'Identifier',None, 'Name of a property whose value is assumed to resolve to the full path to the destination directory',),
+('ReserveCost','ReserveKey','N',None, None, None, None, 'Identifier',None, 'Primary key that uniquely identifies a particular ReserveCost record',),
+('ReserveCost','ReserveLocal','N',0,2147483647,None, None, None, None, 'Disk space to reserve if linked component is installed locally.',),
+('ReserveCost','ReserveSource','N',0,2147483647,None, None, None, None, 'Disk space to reserve if linked component is installed to run from the source location.',),
+('SelfReg','File_','N',None, None, 'File',1,'Identifier',None, 'Foreign key into the File table denoting the module that needs to be registered.',),
+('SelfReg','Cost','Y',0,32767,None, None, None, None, 'The cost of registering the module.',),
+('ServiceControl','Name','N',None, None, None, None, 'Formatted',None, 'Name of a service. /, \\, comma and space are invalid',),
+('ServiceControl','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table that controls the startup of the service',),
+('ServiceControl','Event','N',0,187,None, None, None, None, 'Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete',),
+('ServiceControl','ServiceControl','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('ServiceControl','Arguments','Y',None, None, None, None, 'Formatted',None, 'Arguments for the service.  Separate by [~].',),
+('ServiceControl','Wait','Y',0,1,None, None, None, None, 'Boolean for whether to wait for the service to fully start',),
+('ServiceInstall','Name','N',None, None, None, None, 'Formatted',None, 'Internal Name of the Service',),
+('ServiceInstall','Description','Y',None, None, None, None, 'Text',None, 'Description of service.',),
+('ServiceInstall','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table that controls the startup of the service',),
+('ServiceInstall','Arguments','Y',None, None, None, None, 'Formatted',None, 'Arguments to include in every start of the service, passed to WinMain',),
+('ServiceInstall','ServiceInstall','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('ServiceInstall','Dependencies','Y',None, None, None, None, 'Formatted',None, 'Other services this depends on to start.  Separate by [~], and end with [~][~]',),
+('ServiceInstall','DisplayName','Y',None, None, None, None, 'Formatted',None, 'External Name of the Service',),
+('ServiceInstall','ErrorControl','N',-2147483647,2147483647,None, None, None, None, 'Severity of error if service fails to start',),
+('ServiceInstall','LoadOrderGroup','Y',None, None, None, None, 'Formatted',None, 'LoadOrderGroup',),
+('ServiceInstall','Password','Y',None, None, None, None, 'Formatted',None, 'password to run service with.  (with StartName)',),
+('ServiceInstall','ServiceType','N',-2147483647,2147483647,None, None, None, None, 'Type of the service',),
+('ServiceInstall','StartName','Y',None, None, None, None, 'Formatted',None, 'User or object name to run service as',),
+('ServiceInstall','StartType','N',0,4,None, None, None, None, 'Type of the service',),
+('Shortcut','Name','N',None, None, None, None, 'Filename',None, 'The name of the shortcut to be created.',),
+('Shortcut','Description','Y',None, None, None, None, 'Text',None, 'The description for the shortcut.',),
+('Shortcut','Component_','N',None, None, 'Component',1,'Identifier',None, 'Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.',),
+('Shortcut','Icon_','Y',None, None, 'Icon',1,'Identifier',None, 'Foreign key into the File table denoting the external icon file for the shortcut.',),
+('Shortcut','IconIndex','Y',-32767,32767,None, None, None, None, 'The icon index for the shortcut.',),
+('Shortcut','Directory_','N',None, None, 'Directory',1,'Identifier',None, 'Foreign key into the Directory table denoting the directory where the shortcut file is created.',),
+('Shortcut','Target','N',None, None, None, None, 'Shortcut',None, 'The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.',),
+('Shortcut','Arguments','Y',None, None, None, None, 'Formatted',None, 'The command-line arguments for the shortcut.',),
+('Shortcut','Shortcut','N',None, None, None, None, 'Identifier',None, 'Primary key, non-localized token.',),
+('Shortcut','Hotkey','Y',0,32767,None, None, None, None, 'The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. ',),
+('Shortcut','ShowCmd','Y',None, None, None, None, None, '1;3;7','The show command for the application window.The following values may be used.',),
+('Shortcut','WkDir','Y',None, None, None, None, 'Identifier',None, 'Name of property defining location of working directory.',),
+('Signature','FileName','N',None, None, None, None, 'Filename',None, 'The name of the file. This may contain a "short name|long name" pair.',),
+('Signature','Signature','N',None, None, None, None, 'Identifier',None, 'The table key. The Signature represents a unique file signature.',),
+('Signature','Languages','Y',None, None, None, None, 'Language',None, 'The languages supported by the file.',),
+('Signature','MaxDate','Y',0,2147483647,None, None, None, None, 'The maximum creation date of the file.',),
+('Signature','MaxSize','Y',0,2147483647,None, None, None, None, 'The maximum size of the file. ',),
+('Signature','MaxVersion','Y',None, None, None, None, 'Text',None, 'The maximum version of the file.',),
+('Signature','MinDate','Y',0,2147483647,None, None, None, None, 'The minimum creation date of the file.',),
+('Signature','MinSize','Y',0,2147483647,None, None, None, None, 'The minimum size of the file.',),
+('Signature','MinVersion','Y',None, None, None, None, 'Text',None, 'The minimum version of the file.',),
+('TextStyle','TextStyle','N',None, None, None, None, 'Identifier',None, 'Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.',),
+('TextStyle','Color','Y',0,16777215,None, None, None, None, 'A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).',),
+('TextStyle','FaceName','N',None, None, None, None, 'Text',None, 'A string indicating the name of the font used. Required. The string must be at most 31 characters long.',),
+('TextStyle','Size','N',0,32767,None, None, None, None, 'The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.',),
+('TextStyle','StyleBits','Y',0,15,None, None, None, None, 'A combination of style bits.',),
+('TypeLib','Description','Y',None, None, None, None, 'Text',None, None, ),
+('TypeLib','Feature_','N',None, None, 'Feature',1,'Identifier',None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.',),
+('TypeLib','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
+('TypeLib','Directory_','Y',None, None, 'Directory',1,'Identifier',None, 'Optional. The foreign key into the Directory table denoting the path to the help file for the type library.',),
+('TypeLib','Language','N',0,32767,None, None, None, None, 'The language of the library.',),
+('TypeLib','Version','Y',0,16777215,None, None, None, None, 'The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. ',),
+('TypeLib','Cost','Y',0,2147483647,None, None, None, None, 'The cost associated with the registration of the typelib. This column is currently optional.',),
+('TypeLib','LibID','N',None, None, None, None, 'Guid',None, 'The GUID that represents the library.',),
+('UIText','Text','Y',None, None, None, None, 'Text',None, 'The localized version of the string.',),
+('UIText','Key','N',None, None, None, None, 'Identifier',None, 'A unique key that identifies the particular string.',),
+('Upgrade','Attributes','N',0,2147483647,None, None, None, None, 'The attributes of this product set.',),
+('Upgrade','Language','Y',None, None, None, None, 'Language',None, 'A comma-separated list of languages for either products in this set or products not in this set.',),
+('Upgrade','ActionProperty','N',None, None, None, None, 'UpperCase',None, 'The property to set when a product in this set is found.',),
+('Upgrade','Remove','Y',None, None, None, None, 'Formatted',None, 'The list of features to remove when uninstalling a product from this set.  The default is "ALL".',),
+('Upgrade','UpgradeCode','N',None, None, None, None, 'Guid',None, 'The UpgradeCode GUID belonging to the products in this set.',),
+('Upgrade','VersionMax','Y',None, None, None, None, 'Text',None, 'The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.',),
+('Upgrade','VersionMin','Y',None, None, None, None, 'Text',None, 'The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.',),
+('Verb','Sequence','Y',0,32767,None, None, None, None, 'Order within the verbs for a particular extension. Also used simply to specify the default verb.',),
+('Verb','Argument','Y',None, None, None, None, 'Formatted',None, 'Optional value for the command arguments.',),
+('Verb','Extension_','N',None, None, 'Extension',1,'Text',None, 'The extension associated with the table row.',),
+('Verb','Verb','N',None, None, None, None, 'Text',None, 'The verb for the command.',),
+('Verb','Command','Y',None, None, None, None, 'Formatted',None, 'The command text.',),
 ]
diff --git a/Tools/msi/sequence.py b/Tools/msi/sequence.py
index 1138f7a..7012a21 100644
--- a/Tools/msi/sequence.py
+++ b/Tools/msi/sequence.py
@@ -1,126 +1,126 @@
 AdminExecuteSequence = [
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'InstallFiles', None, 4000),
-(u'InstallAdminPackage', None, 3900),
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'InstallValidate', None, 1400),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('InstallFiles', None, 4000),
+('InstallAdminPackage', None, 3900),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('InstallValidate', None, 1400),
 ]
 
 AdminUISequence = [
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'ExecuteAction', None, 1300),
-(u'ExitDialog', None, -1),
-(u'FatalError', None, -3),
-(u'UserExit', None, -2),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('ExecuteAction', None, 1300),
+('ExitDialog', None, -1),
+('FatalError', None, -3),
+('UserExit', None, -2),
 ]
 
 AdvtExecuteSequence = [
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'InstallValidate', None, 1400),
-(u'CreateShortcuts', None, 4500),
-(u'MsiPublishAssemblies', None, 6250),
-(u'PublishComponents', None, 6200),
-(u'PublishFeatures', None, 6300),
-(u'PublishProduct', None, 6400),
-(u'RegisterClassInfo', None, 4600),
-(u'RegisterExtensionInfo', None, 4700),
-(u'RegisterMIMEInfo', None, 4900),
-(u'RegisterProgIdInfo', None, 4800),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('InstallValidate', None, 1400),
+('CreateShortcuts', None, 4500),
+('MsiPublishAssemblies', None, 6250),
+('PublishComponents', None, 6200),
+('PublishFeatures', None, 6300),
+('PublishProduct', None, 6400),
+('RegisterClassInfo', None, 4600),
+('RegisterExtensionInfo', None, 4700),
+('RegisterMIMEInfo', None, 4900),
+('RegisterProgIdInfo', None, 4800),
 ]
 
 InstallExecuteSequence = [
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'InstallFiles', None, 4000),
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'InstallValidate', None, 1400),
-(u'CreateShortcuts', None, 4500),
-(u'MsiPublishAssemblies', None, 6250),
-(u'PublishComponents', None, 6200),
-(u'PublishFeatures', None, 6300),
-(u'PublishProduct', None, 6400),
-(u'RegisterClassInfo', None, 4600),
-(u'RegisterExtensionInfo', None, 4700),
-(u'RegisterMIMEInfo', None, 4900),
-(u'RegisterProgIdInfo', None, 4800),
-(u'AllocateRegistrySpace', u'NOT Installed', 1550),
-(u'AppSearch', None, 400),
-(u'BindImage', None, 4300),
-(u'CCPSearch', u'NOT Installed', 500),
-(u'CreateFolders', None, 3700),
-(u'DeleteServices', u'VersionNT', 2000),
-(u'DuplicateFiles', None, 4210),
-(u'FindRelatedProducts', None, 200),
-(u'InstallODBC', None, 5400),
-(u'InstallServices', u'VersionNT', 5800),
-(u'IsolateComponents', None, 950),
-(u'LaunchConditions', None, 100),
-(u'MigrateFeatureStates', None, 1200),
-(u'MoveFiles', None, 3800),
-(u'PatchFiles', None, 4090),
-(u'ProcessComponents', None, 1600),
-(u'RegisterComPlus', None, 5700),
-(u'RegisterFonts', None, 5300),
-(u'RegisterProduct', None, 6100),
-(u'RegisterTypeLibraries', None, 5500),
-(u'RegisterUser', None, 6000),
-(u'RemoveDuplicateFiles', None, 3400),
-(u'RemoveEnvironmentStrings', None, 3300),
-(u'RemoveExistingProducts', None, 6700),
-(u'RemoveFiles', None, 3500),
-(u'RemoveFolders', None, 3600),
-(u'RemoveIniValues', None, 3100),
-(u'RemoveODBC', None, 2400),
-(u'RemoveRegistryValues', None, 2600),
-(u'RemoveShortcuts', None, 3200),
-(u'RMCCPSearch', u'NOT Installed', 600),
-(u'SelfRegModules', None, 5600),
-(u'SelfUnregModules', None, 2200),
-(u'SetODBCFolders', None, 1100),
-(u'StartServices', u'VersionNT', 5900),
-(u'StopServices', u'VersionNT', 1900),
-(u'MsiUnpublishAssemblies', None, 1750),
-(u'UnpublishComponents', None, 1700),
-(u'UnpublishFeatures', None, 1800),
-(u'UnregisterClassInfo', None, 2700),
-(u'UnregisterComPlus', None, 2100),
-(u'UnregisterExtensionInfo', None, 2800),
-(u'UnregisterFonts', None, 2500),
-(u'UnregisterMIMEInfo', None, 3000),
-(u'UnregisterProgIdInfo', None, 2900),
-(u'UnregisterTypeLibraries', None, 2300),
-(u'ValidateProductID', None, 700),
-(u'WriteEnvironmentStrings', None, 5200),
-(u'WriteIniValues', None, 5100),
-(u'WriteRegistryValues', None, 5000),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('InstallFiles', None, 4000),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('InstallValidate', None, 1400),
+('CreateShortcuts', None, 4500),
+('MsiPublishAssemblies', None, 6250),
+('PublishComponents', None, 6200),
+('PublishFeatures', None, 6300),
+('PublishProduct', None, 6400),
+('RegisterClassInfo', None, 4600),
+('RegisterExtensionInfo', None, 4700),
+('RegisterMIMEInfo', None, 4900),
+('RegisterProgIdInfo', None, 4800),
+('AllocateRegistrySpace', 'NOT Installed', 1550),
+('AppSearch', None, 400),
+('BindImage', None, 4300),
+('CCPSearch', 'NOT Installed', 500),
+('CreateFolders', None, 3700),
+('DeleteServices', 'VersionNT', 2000),
+('DuplicateFiles', None, 4210),
+('FindRelatedProducts', None, 200),
+('InstallODBC', None, 5400),
+('InstallServices', 'VersionNT', 5800),
+('IsolateComponents', None, 950),
+('LaunchConditions', None, 100),
+('MigrateFeatureStates', None, 1200),
+('MoveFiles', None, 3800),
+('PatchFiles', None, 4090),
+('ProcessComponents', None, 1600),
+('RegisterComPlus', None, 5700),
+('RegisterFonts', None, 5300),
+('RegisterProduct', None, 6100),
+('RegisterTypeLibraries', None, 5500),
+('RegisterUser', None, 6000),
+('RemoveDuplicateFiles', None, 3400),
+('RemoveEnvironmentStrings', None, 3300),
+('RemoveExistingProducts', None, 6700),
+('RemoveFiles', None, 3500),
+('RemoveFolders', None, 3600),
+('RemoveIniValues', None, 3100),
+('RemoveODBC', None, 2400),
+('RemoveRegistryValues', None, 2600),
+('RemoveShortcuts', None, 3200),
+('RMCCPSearch', 'NOT Installed', 600),
+('SelfRegModules', None, 5600),
+('SelfUnregModules', None, 2200),
+('SetODBCFolders', None, 1100),
+('StartServices', 'VersionNT', 5900),
+('StopServices', 'VersionNT', 1900),
+('MsiUnpublishAssemblies', None, 1750),
+('UnpublishComponents', None, 1700),
+('UnpublishFeatures', None, 1800),
+('UnregisterClassInfo', None, 2700),
+('UnregisterComPlus', None, 2100),
+('UnregisterExtensionInfo', None, 2800),
+('UnregisterFonts', None, 2500),
+('UnregisterMIMEInfo', None, 3000),
+('UnregisterProgIdInfo', None, 2900),
+('UnregisterTypeLibraries', None, 2300),
+('ValidateProductID', None, 700),
+('WriteEnvironmentStrings', None, 5200),
+('WriteIniValues', None, 5100),
+('WriteRegistryValues', None, 5000),
 ]
 
 InstallUISequence = [
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'ExecuteAction', None, 1300),
-(u'ExitDialog', None, -1),
-(u'FatalError', None, -3),
-(u'UserExit', None, -2),
-(u'AppSearch', None, 400),
-(u'CCPSearch', u'NOT Installed', 500),
-(u'FindRelatedProducts', None, 200),
-(u'IsolateComponents', None, 950),
-(u'LaunchConditions', None, 100),
-(u'MigrateFeatureStates', None, 1200),
-(u'RMCCPSearch', u'NOT Installed', 600),
-(u'ValidateProductID', None, 700),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('ExecuteAction', None, 1300),
+('ExitDialog', None, -1),
+('FatalError', None, -3),
+('UserExit', None, -2),
+('AppSearch', None, 400),
+('CCPSearch', 'NOT Installed', 500),
+('FindRelatedProducts', None, 200),
+('IsolateComponents', None, 950),
+('LaunchConditions', None, 100),
+('MigrateFeatureStates', None, 1200),
+('RMCCPSearch', 'NOT Installed', 600),
+('ValidateProductID', None, 700),
 ]
 
 tables=['AdminExecuteSequence', 'AdminUISequence', 'AdvtExecuteSequence', 'InstallExecuteSequence', 'InstallUISequence']
diff --git a/Tools/msi/uisample.py b/Tools/msi/uisample.py
index 2bdf59e..64c05e7 100644
--- a/Tools/msi/uisample.py
+++ b/Tools/msi/uisample.py
@@ -1,43 +1,43 @@
 
 import msilib,os;dirname=os.path.dirname(__file__)
 AdminExecuteSequence = [
-(u'InstallValidate', None, 1400),
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'InstallFiles', None, 4000),
-(u'InstallAdminPackage', None, 3900),
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
+('InstallValidate', None, 1400),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('InstallFiles', None, 4000),
+('InstallAdminPackage', None, 3900),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
 ]
 
 AdminUISequence = [
-(u'AdminWelcomeDlg', None, 1230),
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'ExecuteAction', None, 1300),
-(u'ExitDialog', None, -1),
-(u'FatalError', None, -3),
-(u'PrepareDlg', None, 140),
-(u'ProgressDlg', None, 1280),
-(u'UserExit', None, -2),
+('AdminWelcomeDlg', None, 1230),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('ExecuteAction', None, 1300),
+('ExitDialog', None, -1),
+('FatalError', None, -3),
+('PrepareDlg', None, 140),
+('ProgressDlg', None, 1280),
+('UserExit', None, -2),
 ]
 
 AdvtExecuteSequence = [
-(u'InstallValidate', None, 1400),
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'CreateShortcuts', None, 4500),
-(u'PublishComponents', None, 6200),
-(u'PublishFeatures', None, 6300),
-(u'PublishProduct', None, 6400),
-(u'RegisterClassInfo', None, 4600),
-(u'RegisterExtensionInfo', None, 4700),
-(u'RegisterMIMEInfo', None, 4900),
-(u'RegisterProgIdInfo', None, 4800),
+('InstallValidate', None, 1400),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('CreateShortcuts', None, 4500),
+('PublishComponents', None, 6200),
+('PublishFeatures', None, 6300),
+('PublishProduct', None, 6400),
+('RegisterClassInfo', None, 4600),
+('RegisterExtensionInfo', None, 4700),
+('RegisterMIMEInfo', None, 4900),
+('RegisterProgIdInfo', None, 4800),
 ]
 
 BBControl = [
@@ -47,678 +47,678 @@
 ]
 
 Binary = [
-(u'bannrbmp', msilib.Binary(os.path.join(dirname,"bannrbmp.bin"))),
-(u'completi', msilib.Binary(os.path.join(dirname,"completi.bin"))),
-(u'custicon', msilib.Binary(os.path.join(dirname,"custicon.bin"))),
-(u'dlgbmp', msilib.Binary(os.path.join(dirname,"dlgbmp.bin"))),
-(u'exclamic', msilib.Binary(os.path.join(dirname,"exclamic.bin"))),
-(u'info', msilib.Binary(os.path.join(dirname,"info.bin"))),
-(u'insticon', msilib.Binary(os.path.join(dirname,"insticon.bin"))),
-(u'New', msilib.Binary(os.path.join(dirname,"New.bin"))),
-(u'removico', msilib.Binary(os.path.join(dirname,"removico.bin"))),
-(u'repairic', msilib.Binary(os.path.join(dirname,"repairic.bin"))),
-(u'Up', msilib.Binary(os.path.join(dirname,"Up.bin"))),
+('bannrbmp', msilib.Binary(os.path.join(dirname,"bannrbmp.bin"))),
+('completi', msilib.Binary(os.path.join(dirname,"completi.bin"))),
+('custicon', msilib.Binary(os.path.join(dirname,"custicon.bin"))),
+('dlgbmp', msilib.Binary(os.path.join(dirname,"dlgbmp.bin"))),
+('exclamic', msilib.Binary(os.path.join(dirname,"exclamic.bin"))),
+('info', msilib.Binary(os.path.join(dirname,"info.bin"))),
+('insticon', msilib.Binary(os.path.join(dirname,"insticon.bin"))),
+('New', msilib.Binary(os.path.join(dirname,"New.bin"))),
+('removico', msilib.Binary(os.path.join(dirname,"removico.bin"))),
+('repairic', msilib.Binary(os.path.join(dirname,"repairic.bin"))),
+('Up', msilib.Binary(os.path.join(dirname,"Up.bin"))),
 ]
 
 CheckBox = [
 ]
 
 Property = [
-(u'BannerBitmap', u'bannrbmp'),
-(u'IAgree', u'No'),
-(u'ProductID', u'none'),
-(u'ARPHELPLINK', u'http://www.microsoft.com/management'),
-(u'ButtonText_Back', u'< &Back'),
-(u'ButtonText_Browse', u'Br&owse'),
-(u'ButtonText_Cancel', u'Cancel'),
-(u'ButtonText_Exit', u'&Exit'),
-(u'ButtonText_Finish', u'&Finish'),
-(u'ButtonText_Ignore', u'&Ignore'),
-(u'ButtonText_Install', u'&Install'),
-(u'ButtonText_Next', u'&Next >'),
-(u'ButtonText_No', u'&No'),
-(u'ButtonText_OK', u'OK'),
-(u'ButtonText_Remove', u'&Remove'),
-(u'ButtonText_Repair', u'&Repair'),
-(u'ButtonText_Reset', u'&Reset'),
-(u'ButtonText_Resume', u'&Resume'),
-(u'ButtonText_Retry', u'&Retry'),
-(u'ButtonText_Return', u'&Return'),
-(u'ButtonText_Yes', u'&Yes'),
-(u'CompleteSetupIcon', u'completi'),
-(u'ComponentDownload', u'ftp://anonymous@microsoft.com/components/'),
-(u'CustomSetupIcon', u'custicon'),
-(u'DefaultUIFont', u'DlgFont8'),
-(u'DialogBitmap', u'dlgbmp'),
-(u'DlgTitleFont', u'{&DlgFontBold8}'),
-(u'ErrorDialog', u'ErrorDlg'),
-(u'ExclamationIcon', u'exclamic'),
-(u'InfoIcon', u'info'),
-(u'InstallerIcon', u'insticon'),
-(u'INSTALLLEVEL', u'3'),
-(u'InstallMode', u'Typical'),
-(u'PIDTemplate', u'12345<###-%%%%%%%>@@@@@'),
+('BannerBitmap', 'bannrbmp'),
+('IAgree', 'No'),
+('ProductID', 'none'),
+('ARPHELPLINK', 'http://www.microsoft.com/management'),
+('ButtonText_Back', '< &Back'),
+('ButtonText_Browse', 'Br&owse'),
+('ButtonText_Cancel', 'Cancel'),
+('ButtonText_Exit', '&Exit'),
+('ButtonText_Finish', '&Finish'),
+('ButtonText_Ignore', '&Ignore'),
+('ButtonText_Install', '&Install'),
+('ButtonText_Next', '&Next >'),
+('ButtonText_No', '&No'),
+('ButtonText_OK', 'OK'),
+('ButtonText_Remove', '&Remove'),
+('ButtonText_Repair', '&Repair'),
+('ButtonText_Reset', '&Reset'),
+('ButtonText_Resume', '&Resume'),
+('ButtonText_Retry', '&Retry'),
+('ButtonText_Return', '&Return'),
+('ButtonText_Yes', '&Yes'),
+('CompleteSetupIcon', 'completi'),
+('ComponentDownload', 'ftp://anonymous@microsoft.com/components/'),
+('CustomSetupIcon', 'custicon'),
+('DefaultUIFont', 'DlgFont8'),
+('DialogBitmap', 'dlgbmp'),
+('DlgTitleFont', '{&DlgFontBold8}'),
+('ErrorDialog', 'ErrorDlg'),
+('ExclamationIcon', 'exclamic'),
+('InfoIcon', 'info'),
+('InstallerIcon', 'insticon'),
+('INSTALLLEVEL', '3'),
+('InstallMode', 'Typical'),
+('PIDTemplate', '12345<###-%%%%%%%>@@@@@'),
 #(u'ProductLanguage', u'1033'),
-(u'Progress1', u'Installing'),
-(u'Progress2', u'installs'),
-(u'PROMPTROLLBACKCOST', u'P'),
-(u'RemoveIcon', u'removico'),
-(u'RepairIcon', u'repairic'),
-(u'Setup', u'Setup'),
-(u'ShowUserRegistrationDlg', u'1'),
-(u'Wizard', u'Setup Wizard'),
+('Progress1', 'Installing'),
+('Progress2', 'installs'),
+('PROMPTROLLBACKCOST', 'P'),
+('RemoveIcon', 'removico'),
+('RepairIcon', 'repairic'),
+('Setup', 'Setup'),
+('ShowUserRegistrationDlg', '1'),
+('Wizard', 'Setup Wizard'),
 ]
 
 ComboBox = [
 ]
 
 Control = [
-(u'AdminWelcomeDlg', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'AdminWelcomeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'AdminWelcomeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'AdminWelcomeDlg', u'Description', u'Text', 135, 70, 220, 30, 196611, None, u'The [Wizard] will create a server image of [ProductName], at a specified network location.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
-(u'AdminWelcomeDlg', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
-(u'AdminWelcomeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Next', None),
-(u'AdminWelcomeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'ExitDialog', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'ExitDialog', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'ExitDialog', u'Cancel', u'PushButton', 304, 243, 56, 17, 1, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'ExitDialog', u'Description', u'Text', 135, 70, 220, 20, 196611, None, u'Click the Finish button to exit the [Wizard].', None, None),
-(u'ExitDialog', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Completing the [ProductName] [Wizard]', None, None),
-(u'ExitDialog', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Finish', None),
-(u'ExitDialog', u'Finish', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Finish]', u'Cancel', None),
-(u'FatalError', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'FatalError', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'FatalError', u'Cancel', u'PushButton', 304, 243, 56, 17, 1, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'FatalError', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}[ProductName] [Wizard] ended prematurely', None, None),
-(u'FatalError', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Finish', None),
-(u'FatalError', u'Finish', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Finish]', u'Cancel', None),
-(u'FatalError', u'Description1', u'Text', 135, 70, 220, 40, 196611, None, u'[ProductName] setup ended prematurely because of an error.  Your system has not been modified.  To install this program at a later time, please run the installation again.', None, None),
-(u'FatalError', u'Description2', u'Text', 135, 115, 220, 20, 196611, None, u'Click the Finish button to exit the [Wizard].', None, None),
-(u'PrepareDlg', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Cancel', None),
-(u'PrepareDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'PrepareDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'PrepareDlg', u'Description', u'Text', 135, 70, 220, 20, 196611, None, u'Please wait while the [Wizard] prepares to guide you through the installation.', None, None),
-(u'PrepareDlg', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
-(u'PrepareDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', None, None),
-(u'PrepareDlg', u'Next', u'PushButton', 236, 243, 56, 17, 1, None, u'[ButtonText_Next]', None, None),
-(u'PrepareDlg', u'ActionData', u'Text', 135, 125, 220, 30, 196611, None, None, None, None),
-(u'PrepareDlg', u'ActionText', u'Text', 135, 100, 220, 20, 196611, None, None, None, None),
-(u'ProgressDlg', u'Text', u'Text', 35, 65, 300, 20, 3, None, u'Please wait while the [Wizard] [Progress2] [ProductName].  This may take several minutes.', None, None),
-(u'ProgressDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Back', None),
-(u'ProgressDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'ProgressDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'ProgressDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'ProgressDlg', u'Title', u'Text', 20, 15, 200, 15, 196611, None, u'[DlgTitleFont][Progress1] [ProductName]', None, None),
-(u'ProgressDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Next', None),
-(u'ProgressDlg', u'Next', u'PushButton', 236, 243, 56, 17, 1, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'ProgressDlg', u'ActionText', u'Text', 70, 100, 265, 10, 3, None, None, None, None),
-(u'ProgressDlg', u'ProgressBar', u'ProgressBar', 35, 115, 300, 10, 65537, None, u'Progress done', None, None),
-(u'ProgressDlg', u'StatusLabel', u'Text', 35, 100, 35, 10, 3, None, u'Status:', None, None),
-(u'UserExit', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'UserExit', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'UserExit', u'Cancel', u'PushButton', 304, 243, 56, 17, 1, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'UserExit', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}[ProductName] [Wizard] was interrupted', None, None),
-(u'UserExit', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Finish', None),
-(u'UserExit', u'Finish', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Finish]', u'Cancel', None),
-(u'UserExit', u'Description1', u'Text', 135, 70, 220, 40, 196611, None, u'[ProductName] setup was interrupted.  Your system has not been modified.  To install this program at a later time, please run the installation again.', None, None),
-(u'UserExit', u'Description2', u'Text', 135, 115, 220, 20, 196611, None, u'Click the Finish button to exit the [Wizard].', None, None),
-(u'AdminBrowseDlg', u'Up', u'PushButton', 298, 55, 19, 19, 3670019, None, u'Up', u'NewFolder', u'Up One Level|'),
-(u'AdminBrowseDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'PathEdit', None),
-(u'AdminBrowseDlg', u'PathEdit', u'PathEdit', 84, 202, 261, 17, 3, u'TARGETDIR', None, u'OK', None),
-(u'AdminBrowseDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'AdminBrowseDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'AdminBrowseDlg', u'Cancel', u'PushButton', 240, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'ComboLabel', None),
-(u'AdminBrowseDlg', u'ComboLabel', u'Text', 25, 58, 44, 10, 3, None, u'&Look in:', u'DirectoryCombo', None),
-(u'AdminBrowseDlg', u'DirectoryCombo', u'DirectoryCombo', 70, 55, 220, 80, 458755, u'TARGETDIR', None, u'Up', None),
-(u'AdminBrowseDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Browse to the destination folder', None, None),
-(u'AdminBrowseDlg', u'DirectoryList', u'DirectoryList', 25, 83, 320, 110, 7, u'TARGETDIR', None, u'PathLabel', None),
-(u'AdminBrowseDlg', u'PathLabel', u'Text', 25, 205, 59, 10, 3, None, u'&Folder name:', u'BannerBitmap', None),
-(u'AdminBrowseDlg', u'NewFolder', u'PushButton', 325, 55, 19, 19, 3670019, None, u'New', u'DirectoryList', u'Create A New Folder|'),
-(u'AdminBrowseDlg', u'OK', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_OK]', u'Cancel', None),
-(u'AdminBrowseDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Change current destination folder', None, None),
-(u'AdminInstallPointDlg', u'Text', u'Text', 25, 80, 320, 10, 3, None, u'&Enter a new network location or click Browse to browse to one.', u'PathEdit', None),
-(u'AdminInstallPointDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Text', None),
-(u'AdminInstallPointDlg', u'PathEdit', u'PathEdit', 25, 93, 320, 18, 3, u'TARGETDIR', None, u'Browse', None),
-(u'AdminInstallPointDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'AdminInstallPointDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'AdminInstallPointDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'AdminInstallPointDlg', u'Description', u'Text', 25, 20, 280, 20, 196611, None, u'Please specify a network location for the server image of [ProductName] product', None, None),
-(u'AdminInstallPointDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Network Location', None, None),
-(u'AdminInstallPointDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'AdminInstallPointDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'AdminInstallPointDlg', u'Browse', u'PushButton', 289, 119, 56, 17, 3, None, u'[ButtonText_Browse]', u'Back', None),
-(u'AdminRegistrationDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'OrganizationLabel', None),
-(u'AdminRegistrationDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'AdminRegistrationDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'AdminRegistrationDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'AdminRegistrationDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Please enter your company information', None, None),
-(u'AdminRegistrationDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Company Information', None, None),
-(u'AdminRegistrationDlg', u'Back', u'PushButton', 180, 243, 56, 17, 65539, None, u'[ButtonText_Back]', u'Next', None),
-(u'AdminRegistrationDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'AdminRegistrationDlg', u'OrganizationLabel', u'Text', 45, 71, 285, 30, 3, None, u'&Please enter the name of your organization in the box below.  This will be used as default company name for subsequent installations of [ProductName]:', u'OrganizationEdit', None),
-(u'AdminRegistrationDlg', u'CDKeyEdit', u'MaskedEdit', 45, 143, 250, 16, 3, u'PIDKEY', u'[PIDTemplate]', u'Back', None),
-(u'AdminRegistrationDlg', u'CDKeyLabel', u'Text', 45, 130, 50, 10, 3, None, u'CD &Key:', u'CDKeyEdit', None),
-(u'AdminRegistrationDlg', u'OrganizationEdit', u'Edit', 45, 105, 220, 18, 3, u'COMPANYNAME', u'{80}', u'CDKeyLabel', None),
-(u'BrowseDlg', u'Up', u'PushButton', 298, 55, 19, 19, 3670019, None, u'Up', u'NewFolder', u'Up One Level|'),
-(u'BrowseDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'PathEdit', None),
-(u'BrowseDlg', u'PathEdit', u'PathEdit', 84, 202, 261, 18, 11, u'_BrowseProperty', None, u'OK', None),
-(u'BrowseDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'BrowseDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'BrowseDlg', u'Cancel', u'PushButton', 240, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'ComboLabel', None),
-(u'BrowseDlg', u'ComboLabel', u'Text', 25, 58, 44, 10, 3, None, u'&Look in:', u'DirectoryCombo', None),
-(u'BrowseDlg', u'DirectoryCombo', u'DirectoryCombo', 70, 55, 220, 80, 393227, u'_BrowseProperty', None, u'Up', None),
-(u'BrowseDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Browse to the destination folder', None, None),
-(u'BrowseDlg', u'DirectoryList', u'DirectoryList', 25, 83, 320, 110, 15, u'_BrowseProperty', None, u'PathLabel', None),
-(u'BrowseDlg', u'PathLabel', u'Text', 25, 205, 59, 10, 3, None, u'&Folder name:', u'BannerBitmap', None),
-(u'BrowseDlg', u'NewFolder', u'PushButton', 325, 55, 19, 19, 3670019, None, u'New', u'DirectoryList', u'Create A New Folder|'),
-(u'BrowseDlg', u'OK', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_OK]', u'Cancel', None),
-(u'BrowseDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Change current destination folder', None, None),
-(u'CancelDlg', u'Text', u'Text', 48, 15, 194, 30, 3, None, u'Are you sure you want to cancel [ProductName] installation?', None, None),
-(u'CancelDlg', u'Icon', u'Icon', 15, 15, 24, 24, 5242881, None, u'[InfoIcon]', None, u'Information icon|'),
-(u'CancelDlg', u'No', u'PushButton', 132, 57, 56, 17, 3, None, u'[ButtonText_No]', u'Yes', None),
-(u'CancelDlg', u'Yes', u'PushButton', 72, 57, 56, 17, 3, None, u'[ButtonText_Yes]', u'No', None),
-(u'CustomizeDlg', u'Text', u'Text', 25, 55, 320, 20, 3, None, u'Click on the icons in the tree below to change the way features will be installed.', None, None),
-(u'CustomizeDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Tree', None),
-(u'CustomizeDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'CustomizeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'CustomizeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'CustomizeDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Select the way you want features to be installed.', None, None),
-(u'CustomizeDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Custom Setup', None, None),
-(u'CustomizeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'CustomizeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'CustomizeDlg', u'Browse', u'PushButton', 304, 200, 56, 17, 3, None, u'[ButtonText_Browse]', u'Reset', None),
-(u'CustomizeDlg', u'Tree', u'SelectionTree', 25, 85, 175, 95, 7, u'_BrowseProperty', u'Tree of selections', u'Browse', None),
-(u'CustomizeDlg', u'Box', u'GroupBox', 210, 81, 140, 98, 1, None, None, None, None),
-(u'CustomizeDlg', u'Reset', u'PushButton', 42, 243, 56, 17, 3, None, u'[ButtonText_Reset]', u'DiskCost', None),
-(u'CustomizeDlg', u'DiskCost', u'PushButton', 111, 243, 56, 17, 3, None, u'Disk &Usage', u'Back', None),
-(u'CustomizeDlg', u'ItemDescription', u'Text', 215, 90, 131, 30, 3, None, u'Multiline description of the currently selected item.', None, None),
-(u'CustomizeDlg', u'ItemSize', u'Text', 215, 130, 131, 45, 3, None, u'The size of the currently selected item.', None, None),
-(u'CustomizeDlg', u'Location', u'Text', 75, 200, 215, 20, 3, None, u"<The selection's path>", None, None),
-(u'CustomizeDlg', u'LocationLabel', u'Text', 25, 200, 50, 10, 3, None, u'Location:', None, None),
-(u'DiskCostDlg', u'Text', u'Text', 20, 53, 330, 40, 3, None, u'The highlighted volumes (if any) do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
-(u'DiskCostDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'OK', None),
-(u'DiskCostDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'DiskCostDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'DiskCostDlg', u'Description', u'Text', 20, 20, 280, 20, 196611, None, u'The disk space required for the installation of the selected features.', None, None),
-(u'DiskCostDlg', u'OK', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_OK]', u'BannerBitmap', None),
-(u'DiskCostDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Disk Space Requirements', None, None),
-(u'DiskCostDlg', u'VolumeList', u'VolumeCostList', 20, 100, 330, 120, 393223, None, u'{120}{70}{70}{70}{70}', None, None),
-(u'ErrorDlg', u'Y', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_Yes]', None, None),
-(u'ErrorDlg', u'A', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_Cancel]', None, None),
-(u'ErrorDlg', u'C', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_Cancel]', None, None),
-(u'ErrorDlg', u'ErrorIcon', u'Icon', 15, 15, 24, 24, 5242881, None, u'[InfoIcon]', None, u'Information icon|'),
-(u'ErrorDlg', u'ErrorText', u'Text', 48, 15, 205, 60, 3, None, u'Information text', None, None),
-(u'ErrorDlg', u'I', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_Ignore]', None, None),
-(u'ErrorDlg', u'N', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_No]', None, None),
-(u'ErrorDlg', u'O', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_OK]', None, None),
-(u'ErrorDlg', u'R', u'PushButton', 100, 80, 56, 17, 3, None, u'[ButtonText_Retry]', None, None),
-(u'FilesInUse', u'Text', u'Text', 20, 55, 330, 30, 3, None, u'The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.', None, None),
-(u'FilesInUse', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Retry', None),
-(u'FilesInUse', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'FilesInUse', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'FilesInUse', u'Description', u'Text', 20, 23, 280, 20, 196611, None, u'Some files that need to be updated are currently in use.', None, None),
-(u'FilesInUse', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Files in Use', None, None),
-(u'FilesInUse', u'Retry', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Retry]', u'Ignore', None),
-(u'FilesInUse', u'Exit', u'PushButton', 166, 243, 56, 17, 3, None, u'[ButtonText_Exit]', u'BannerBitmap', None),
-(u'FilesInUse', u'Ignore', u'PushButton', 235, 243, 56, 17, 3, None, u'[ButtonText_Ignore]', u'Exit', None),
-(u'FilesInUse', u'List', u'ListBox', 20, 87, 330, 130, 7, u'FileInUseProcess', None, None, None),
-(u'LicenseAgreementDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'AgreementText', None),
-(u'LicenseAgreementDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'LicenseAgreementDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'LicenseAgreementDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'LicenseAgreementDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Please read the following license agreement carefully', None, None),
-(u'LicenseAgreementDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]End-User License Agreement', None, None),
-(u'LicenseAgreementDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'LicenseAgreementDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'LicenseAgreementDlg', u'AgreementText', u'ScrollableText', 20, 60, 330, 120, 7, None, u'{\\rtf1\\ansi\\ansicpg1252\\deff0\\deftab720{\\fonttbl{\\f0\\froman\\fprq2 Times New Roman;}}{\\colortbl\\red0\\green0\\blue0;} \\deflang1033\\horzdoc{\\*\\fchars }{\\*\\lchars }\\pard\\plain\\f0\\fs20 <Your license agreement should go here.>\\par }', u'Buttons', None),
-(u'LicenseAgreementDlg', u'Buttons', u'RadioButtonGroup', 20, 187, 330, 40, 3, u'IAgree', None, u'Back', None),
-(u'MaintenanceTypeDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'ChangeLabel', None),
-(u'MaintenanceTypeDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'MaintenanceTypeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'MaintenanceTypeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'MaintenanceTypeDlg', u'Description', u'Text', 25, 23, 280, 20, 196611, None, u'Select the operation you wish to perform.', None, None),
-(u'MaintenanceTypeDlg', u'Title', u'Text', 15, 6, 240, 15, 196611, None, u'[DlgTitleFont]Modify, Repair or Remove installation', None, None),
-(u'MaintenanceTypeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'MaintenanceTypeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 1, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'MaintenanceTypeDlg', u'ChangeLabel', u'Text', 105, 65, 100, 10, 3, None, u'[DlgTitleFont]&Modify', u'ChangeButton', None),
-(u'MaintenanceTypeDlg', u'ChangeButton', u'PushButton', 50, 65, 38, 38, 5767171, None, u'[CustomSetupIcon]', u'RepairLabel', u'Modify Installation|'),
-(u'MaintenanceTypeDlg', u'RepairLabel', u'Text', 105, 114, 100, 10, 3, None, u'[DlgTitleFont]Re&pair', u'RepairButton', None),
-(u'MaintenanceTypeDlg', u'ChangeText', u'Text', 105, 78, 230, 20, 3, None, u'Allows users to change the way features are installed.', None, None),
-(u'MaintenanceTypeDlg', u'RemoveButton', u'PushButton', 50, 163, 38, 38, 5767171, None, u'[RemoveIcon]', u'Back', u'Remove Installation|'),
-(u'MaintenanceTypeDlg', u'RemoveLabel', u'Text', 105, 163, 100, 10, 3, None, u'[DlgTitleFont]&Remove', u'RemoveButton', None),
-(u'MaintenanceTypeDlg', u'RemoveText', u'Text', 105, 176, 230, 20, 3, None, u'Removes [ProductName] from your computer.', None, None),
-(u'MaintenanceTypeDlg', u'RepairButton', u'PushButton', 50, 114, 38, 38, 5767171, None, u'[RepairIcon]', u'RemoveLabel', u'Repair Installation|'),
-(u'MaintenanceTypeDlg', u'RepairText', u'Text', 105, 127, 230, 30, 3, None, u'Repairs errors in the most recent installation state - fixes missing or corrupt files, shortcuts and registry entries.', None, None),
-(u'MaintenanceWelcomeDlg', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'MaintenanceWelcomeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'MaintenanceWelcomeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'MaintenanceWelcomeDlg', u'Description', u'Text', 135, 70, 220, 60, 196611, None, u'The [Wizard] will allow you to change the way [ProductName] features are installed on your computer or even to remove [ProductName] from your computer.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
-(u'MaintenanceWelcomeDlg', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
-(u'MaintenanceWelcomeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Next', None),
-(u'MaintenanceWelcomeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'OutOfDiskDlg', u'Text', u'Text', 20, 53, 330, 40, 3, None, u'The highlighted volumes do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
-(u'OutOfDiskDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'OK', None),
-(u'OutOfDiskDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'OutOfDiskDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'OutOfDiskDlg', u'Description', u'Text', 20, 20, 280, 20, 196611, None, u'Disk space required for the installation exceeds available disk space.', None, None),
-(u'OutOfDiskDlg', u'OK', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_OK]', u'BannerBitmap', None),
-(u'OutOfDiskDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Out of Disk Space', None, None),
-(u'OutOfDiskDlg', u'VolumeList', u'VolumeCostList', 20, 100, 330, 120, 393223, None, u'{120}{70}{70}{70}{70}', None, None),
-(u'OutOfRbDiskDlg', u'Text', u'Text', 20, 53, 330, 40, 3, None, u'The highlighted volumes do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
-(u'OutOfRbDiskDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'No', None),
-(u'OutOfRbDiskDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'OutOfRbDiskDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'OutOfRbDiskDlg', u'Description', u'Text', 20, 20, 280, 20, 196611, None, u'Disk space required for the installation exceeds available disk space.', None, None),
-(u'OutOfRbDiskDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Out of Disk Space', None, None),
-(u'OutOfRbDiskDlg', u'No', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_No]', u'Yes', None),
-(u'OutOfRbDiskDlg', u'Yes', u'PushButton', 240, 243, 56, 17, 3, None, u'[ButtonText_Yes]', u'BannerBitmap', None),
-(u'OutOfRbDiskDlg', u'VolumeList', u'VolumeCostList', 20, 140, 330, 80, 4587527, None, u'{120}{70}{70}{70}{70}', None, None),
-(u'OutOfRbDiskDlg', u'Text2', u'Text', 20, 94, 330, 40, 3, None, u"Alternatively, you may choose to disable the installer's rollback functionality.  This allows the installer to restore your computer's original state should the installation be interrupted in any way.  Click Yes if you wish to take the risk to disable rollback.", None, None),
-(u'ResumeDlg', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'ResumeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'ResumeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'ResumeDlg', u'Description', u'Text', 135, 70, 220, 30, 196611, None, u'The [Wizard] will complete the installation of [ProductName] on your computer.  Click Install to continue or Cancel to exit the [Wizard].', None, None),
-(u'ResumeDlg', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Resuming the [ProductName] [Wizard]', None, None),
-(u'ResumeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Install', None),
-(u'ResumeDlg', u'Install', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Install]', u'Cancel', None),
-(u'SetupTypeDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'TypicalLabel', None),
-(u'SetupTypeDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'SetupTypeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'SetupTypeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'SetupTypeDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Choose the setup type that best suits your needs', None, None),
-(u'SetupTypeDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Choose Setup Type', None, None),
-(u'SetupTypeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'SetupTypeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 1, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'SetupTypeDlg', u'TypicalLabel', u'Text', 105, 65, 100, 10, 3, None, u'[DlgTitleFont]&Typical', u'TypicalButton', None),
-(u'SetupTypeDlg', u'CompleteButton', u'PushButton', 50, 171, 38, 38, 5767171, None, u'[CompleteSetupIcon]', u'Back', u'Complete Installation|'),
-(u'SetupTypeDlg', u'CompleteLabel', u'Text', 105, 171, 100, 10, 3, None, u'[DlgTitleFont]C&omplete', u'CompleteButton', None),
-(u'SetupTypeDlg', u'CompleteText', u'Text', 105, 184, 230, 20, 3, None, u'All program features will be installed.  (Requires most disk space)', None, None),
-(u'SetupTypeDlg', u'CustomButton', u'PushButton', 50, 118, 38, 38, 5767171, None, u'[CustomSetupIcon]', u'CompleteLabel', u'Custom Installation|'),
-(u'SetupTypeDlg', u'CustomLabel', u'Text', 105, 118, 100, 10, 3, None, u'[DlgTitleFont]C&ustom', u'CustomButton', None),
-(u'SetupTypeDlg', u'CustomText', u'Text', 105, 131, 230, 30, 3, None, u'Allows users to choose which program features will be installed and where they will be installed. Recommended for advanced users.', None, None),
-(u'SetupTypeDlg', u'TypicalButton', u'PushButton', 50, 65, 38, 38, 5767171, None, u'[InstallerIcon]', u'CustomLabel', u'Typical Installation|'),
-(u'SetupTypeDlg', u'TypicalText', u'Text', 105, 78, 230, 20, 3, None, u'Installs the most common program features. Recommended for most users.', None, None),
-(u'UserRegistrationDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'NameLabel', None),
-(u'UserRegistrationDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'UserRegistrationDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'UserRegistrationDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'UserRegistrationDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'Please enter your customer information', None, None),
-(u'UserRegistrationDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Customer Information', None, None),
-(u'UserRegistrationDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Next', None),
-(u'UserRegistrationDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
-(u'UserRegistrationDlg', u'OrganizationLabel', u'Text', 45, 110, 100, 15, 3, None, u'&Organization:', u'OrganizationEdit', None),
-(u'UserRegistrationDlg', u'CDKeyEdit', u'MaskedEdit', 45, 159, 250, 16, 3, u'PIDKEY', u'[PIDTemplate]', u'Back', None),
-(u'UserRegistrationDlg', u'CDKeyLabel', u'Text', 45, 147, 50, 10, 3, None, u'CD &Key:', u'CDKeyEdit', None),
-(u'UserRegistrationDlg', u'OrganizationEdit', u'Edit', 45, 122, 220, 18, 3, u'COMPANYNAME', u'{80}', u'CDKeyLabel', None),
-(u'UserRegistrationDlg', u'NameLabel', u'Text', 45, 73, 100, 15, 3, None, u'&User Name:', u'NameEdit', None),
-(u'UserRegistrationDlg', u'NameEdit', u'Edit', 45, 85, 220, 18, 3, u'USERNAME', u'{80}', u'OrganizationLabel', None),
-(u'VerifyReadyDlg', u'Text', u'Text', 25, 70, 320, 20, 3, None, u'Click Install to begin the installation.  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
-(u'VerifyReadyDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Back', None),
-(u'VerifyReadyDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'VerifyReadyDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'VerifyReadyDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'VerifyReadyDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'The [Wizard] is ready to begin the [InstallMode] installation', None, None),
-(u'VerifyReadyDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Ready to Install', None, None),
-(u'VerifyReadyDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Install', None),
-(u'VerifyReadyDlg', u'Install', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Install]', u'Cancel', None),
-(u'VerifyRemoveDlg', u'Text', u'Text', 25, 70, 320, 30, 3, None, u'Click Remove to remove [ProductName] from your computer.  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
-(u'VerifyRemoveDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Back', None),
-(u'VerifyRemoveDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'VerifyRemoveDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'VerifyRemoveDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'VerifyRemoveDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'You have chosen to remove the program from your computer.', None, None),
-(u'VerifyRemoveDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Remove [ProductName]', None, None),
-(u'VerifyRemoveDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Remove', None),
-(u'VerifyRemoveDlg', u'Remove', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Remove]', u'Cancel', None),
-(u'VerifyRepairDlg', u'Text', u'Text', 25, 70, 320, 30, 3, None, u'Click Repair to repair the installation of [ProductName].  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
-(u'VerifyRepairDlg', u'BannerBitmap', u'Bitmap', 0, 0, 374, 44, 1, None, u'[BannerBitmap]', u'Back', None),
-(u'VerifyRepairDlg', u'BannerLine', u'Line', 0, 44, 374, 0, 1, None, None, None, None),
-(u'VerifyRepairDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'VerifyRepairDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'BannerBitmap', None),
-(u'VerifyRepairDlg', u'Description', u'Text', 25, 23, 280, 15, 196611, None, u'The [Wizard] is ready to begin the repair of [ProductName].', None, None),
-(u'VerifyRepairDlg', u'Title', u'Text', 15, 6, 200, 15, 196611, None, u'[DlgTitleFont]Repair [ProductName]', None, None),
-(u'VerifyRepairDlg', u'Back', u'PushButton', 180, 243, 56, 17, 3, None, u'[ButtonText_Back]', u'Repair', None),
-(u'VerifyRepairDlg', u'Repair', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Repair]', u'Cancel', None),
-(u'WaitForCostingDlg', u'Text', u'Text', 48, 15, 194, 30, 3, None, u'Please wait while the installer finishes determining your disk space requirements.', None, None),
-(u'WaitForCostingDlg', u'Icon', u'Icon', 15, 15, 24, 24, 5242881, None, u'[ExclamationIcon]', None, u'Exclamation icon|'),
-(u'WaitForCostingDlg', u'Return', u'PushButton', 102, 57, 56, 17, 3, None, u'[ButtonText_Return]', None, None),
-(u'WelcomeDlg', u'Bitmap', u'Bitmap', 0, 0, 370, 234, 1, None, u'[DialogBitmap]', u'Back', None),
-(u'WelcomeDlg', u'BottomLine', u'Line', 0, 234, 374, 0, 1, None, None, None, None),
-(u'WelcomeDlg', u'Cancel', u'PushButton', 304, 243, 56, 17, 3, None, u'[ButtonText_Cancel]', u'Bitmap', None),
-(u'WelcomeDlg', u'Description', u'Text', 135, 70, 220, 30, 196611, None, u'The [Wizard] will install [ProductName] on your computer.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
-(u'WelcomeDlg', u'Title', u'Text', 135, 20, 220, 60, 196611, None, u'{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
-(u'WelcomeDlg', u'Back', u'PushButton', 180, 243, 56, 17, 1, None, u'[ButtonText_Back]', u'Next', None),
-(u'WelcomeDlg', u'Next', u'PushButton', 236, 243, 56, 17, 3, None, u'[ButtonText_Next]', u'Cancel', None),
+('AdminWelcomeDlg', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('AdminWelcomeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('AdminWelcomeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('AdminWelcomeDlg', 'Description', 'Text', 135, 70, 220, 30, 196611, None, 'The [Wizard] will create a server image of [ProductName], at a specified network location.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
+('AdminWelcomeDlg', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
+('AdminWelcomeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Next', None),
+('AdminWelcomeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('ExitDialog', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('ExitDialog', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('ExitDialog', 'Cancel', 'PushButton', 304, 243, 56, 17, 1, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('ExitDialog', 'Description', 'Text', 135, 70, 220, 20, 196611, None, 'Click the Finish button to exit the [Wizard].', None, None),
+('ExitDialog', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Completing the [ProductName] [Wizard]', None, None),
+('ExitDialog', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Finish', None),
+('ExitDialog', 'Finish', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Finish]', 'Cancel', None),
+('FatalError', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('FatalError', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('FatalError', 'Cancel', 'PushButton', 304, 243, 56, 17, 1, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('FatalError', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}[ProductName] [Wizard] ended prematurely', None, None),
+('FatalError', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Finish', None),
+('FatalError', 'Finish', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Finish]', 'Cancel', None),
+('FatalError', 'Description1', 'Text', 135, 70, 220, 40, 196611, None, '[ProductName] setup ended prematurely because of an error.  Your system has not been modified.  To install this program at a later time, please run the installation again.', None, None),
+('FatalError', 'Description2', 'Text', 135, 115, 220, 20, 196611, None, 'Click the Finish button to exit the [Wizard].', None, None),
+('PrepareDlg', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Cancel', None),
+('PrepareDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('PrepareDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('PrepareDlg', 'Description', 'Text', 135, 70, 220, 20, 196611, None, 'Please wait while the [Wizard] prepares to guide you through the installation.', None, None),
+('PrepareDlg', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
+('PrepareDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', None, None),
+('PrepareDlg', 'Next', 'PushButton', 236, 243, 56, 17, 1, None, '[ButtonText_Next]', None, None),
+('PrepareDlg', 'ActionData', 'Text', 135, 125, 220, 30, 196611, None, None, None, None),
+('PrepareDlg', 'ActionText', 'Text', 135, 100, 220, 20, 196611, None, None, None, None),
+('ProgressDlg', 'Text', 'Text', 35, 65, 300, 20, 3, None, 'Please wait while the [Wizard] [Progress2] [ProductName].  This may take several minutes.', None, None),
+('ProgressDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Back', None),
+('ProgressDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('ProgressDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('ProgressDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('ProgressDlg', 'Title', 'Text', 20, 15, 200, 15, 196611, None, '[DlgTitleFont][Progress1] [ProductName]', None, None),
+('ProgressDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Next', None),
+('ProgressDlg', 'Next', 'PushButton', 236, 243, 56, 17, 1, None, '[ButtonText_Next]', 'Cancel', None),
+('ProgressDlg', 'ActionText', 'Text', 70, 100, 265, 10, 3, None, None, None, None),
+('ProgressDlg', 'ProgressBar', 'ProgressBar', 35, 115, 300, 10, 65537, None, 'Progress done', None, None),
+('ProgressDlg', 'StatusLabel', 'Text', 35, 100, 35, 10, 3, None, 'Status:', None, None),
+('UserExit', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('UserExit', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('UserExit', 'Cancel', 'PushButton', 304, 243, 56, 17, 1, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('UserExit', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}[ProductName] [Wizard] was interrupted', None, None),
+('UserExit', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Finish', None),
+('UserExit', 'Finish', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Finish]', 'Cancel', None),
+('UserExit', 'Description1', 'Text', 135, 70, 220, 40, 196611, None, '[ProductName] setup was interrupted.  Your system has not been modified.  To install this program at a later time, please run the installation again.', None, None),
+('UserExit', 'Description2', 'Text', 135, 115, 220, 20, 196611, None, 'Click the Finish button to exit the [Wizard].', None, None),
+('AdminBrowseDlg', 'Up', 'PushButton', 298, 55, 19, 19, 3670019, None, 'Up', 'NewFolder', 'Up One Level|'),
+('AdminBrowseDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'PathEdit', None),
+('AdminBrowseDlg', 'PathEdit', 'PathEdit', 84, 202, 261, 17, 3, 'TARGETDIR', None, 'OK', None),
+('AdminBrowseDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('AdminBrowseDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('AdminBrowseDlg', 'Cancel', 'PushButton', 240, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'ComboLabel', None),
+('AdminBrowseDlg', 'ComboLabel', 'Text', 25, 58, 44, 10, 3, None, '&Look in:', 'DirectoryCombo', None),
+('AdminBrowseDlg', 'DirectoryCombo', 'DirectoryCombo', 70, 55, 220, 80, 458755, 'TARGETDIR', None, 'Up', None),
+('AdminBrowseDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Browse to the destination folder', None, None),
+('AdminBrowseDlg', 'DirectoryList', 'DirectoryList', 25, 83, 320, 110, 7, 'TARGETDIR', None, 'PathLabel', None),
+('AdminBrowseDlg', 'PathLabel', 'Text', 25, 205, 59, 10, 3, None, '&Folder name:', 'BannerBitmap', None),
+('AdminBrowseDlg', 'NewFolder', 'PushButton', 325, 55, 19, 19, 3670019, None, 'New', 'DirectoryList', 'Create A New Folder|'),
+('AdminBrowseDlg', 'OK', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_OK]', 'Cancel', None),
+('AdminBrowseDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Change current destination folder', None, None),
+('AdminInstallPointDlg', 'Text', 'Text', 25, 80, 320, 10, 3, None, '&Enter a new network location or click Browse to browse to one.', 'PathEdit', None),
+('AdminInstallPointDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Text', None),
+('AdminInstallPointDlg', 'PathEdit', 'PathEdit', 25, 93, 320, 18, 3, 'TARGETDIR', None, 'Browse', None),
+('AdminInstallPointDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('AdminInstallPointDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('AdminInstallPointDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('AdminInstallPointDlg', 'Description', 'Text', 25, 20, 280, 20, 196611, None, 'Please specify a network location for the server image of [ProductName] product', None, None),
+('AdminInstallPointDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Network Location', None, None),
+('AdminInstallPointDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('AdminInstallPointDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('AdminInstallPointDlg', 'Browse', 'PushButton', 289, 119, 56, 17, 3, None, '[ButtonText_Browse]', 'Back', None),
+('AdminRegistrationDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'OrganizationLabel', None),
+('AdminRegistrationDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('AdminRegistrationDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('AdminRegistrationDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('AdminRegistrationDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Please enter your company information', None, None),
+('AdminRegistrationDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Company Information', None, None),
+('AdminRegistrationDlg', 'Back', 'PushButton', 180, 243, 56, 17, 65539, None, '[ButtonText_Back]', 'Next', None),
+('AdminRegistrationDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('AdminRegistrationDlg', 'OrganizationLabel', 'Text', 45, 71, 285, 30, 3, None, '&Please enter the name of your organization in the box below.  This will be used as default company name for subsequent installations of [ProductName]:', 'OrganizationEdit', None),
+('AdminRegistrationDlg', 'CDKeyEdit', 'MaskedEdit', 45, 143, 250, 16, 3, 'PIDKEY', '[PIDTemplate]', 'Back', None),
+('AdminRegistrationDlg', 'CDKeyLabel', 'Text', 45, 130, 50, 10, 3, None, 'CD &Key:', 'CDKeyEdit', None),
+('AdminRegistrationDlg', 'OrganizationEdit', 'Edit', 45, 105, 220, 18, 3, 'COMPANYNAME', '{80}', 'CDKeyLabel', None),
+('BrowseDlg', 'Up', 'PushButton', 298, 55, 19, 19, 3670019, None, 'Up', 'NewFolder', 'Up One Level|'),
+('BrowseDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'PathEdit', None),
+('BrowseDlg', 'PathEdit', 'PathEdit', 84, 202, 261, 18, 11, '_BrowseProperty', None, 'OK', None),
+('BrowseDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('BrowseDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('BrowseDlg', 'Cancel', 'PushButton', 240, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'ComboLabel', None),
+('BrowseDlg', 'ComboLabel', 'Text', 25, 58, 44, 10, 3, None, '&Look in:', 'DirectoryCombo', None),
+('BrowseDlg', 'DirectoryCombo', 'DirectoryCombo', 70, 55, 220, 80, 393227, '_BrowseProperty', None, 'Up', None),
+('BrowseDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Browse to the destination folder', None, None),
+('BrowseDlg', 'DirectoryList', 'DirectoryList', 25, 83, 320, 110, 15, '_BrowseProperty', None, 'PathLabel', None),
+('BrowseDlg', 'PathLabel', 'Text', 25, 205, 59, 10, 3, None, '&Folder name:', 'BannerBitmap', None),
+('BrowseDlg', 'NewFolder', 'PushButton', 325, 55, 19, 19, 3670019, None, 'New', 'DirectoryList', 'Create A New Folder|'),
+('BrowseDlg', 'OK', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_OK]', 'Cancel', None),
+('BrowseDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Change current destination folder', None, None),
+('CancelDlg', 'Text', 'Text', 48, 15, 194, 30, 3, None, 'Are you sure you want to cancel [ProductName] installation?', None, None),
+('CancelDlg', 'Icon', 'Icon', 15, 15, 24, 24, 5242881, None, '[InfoIcon]', None, 'Information icon|'),
+('CancelDlg', 'No', 'PushButton', 132, 57, 56, 17, 3, None, '[ButtonText_No]', 'Yes', None),
+('CancelDlg', 'Yes', 'PushButton', 72, 57, 56, 17, 3, None, '[ButtonText_Yes]', 'No', None),
+('CustomizeDlg', 'Text', 'Text', 25, 55, 320, 20, 3, None, 'Click on the icons in the tree below to change the way features will be installed.', None, None),
+('CustomizeDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Tree', None),
+('CustomizeDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('CustomizeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('CustomizeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('CustomizeDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Select the way you want features to be installed.', None, None),
+('CustomizeDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Custom Setup', None, None),
+('CustomizeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('CustomizeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('CustomizeDlg', 'Browse', 'PushButton', 304, 200, 56, 17, 3, None, '[ButtonText_Browse]', 'Reset', None),
+('CustomizeDlg', 'Tree', 'SelectionTree', 25, 85, 175, 95, 7, '_BrowseProperty', 'Tree of selections', 'Browse', None),
+('CustomizeDlg', 'Box', 'GroupBox', 210, 81, 140, 98, 1, None, None, None, None),
+('CustomizeDlg', 'Reset', 'PushButton', 42, 243, 56, 17, 3, None, '[ButtonText_Reset]', 'DiskCost', None),
+('CustomizeDlg', 'DiskCost', 'PushButton', 111, 243, 56, 17, 3, None, 'Disk &Usage', 'Back', None),
+('CustomizeDlg', 'ItemDescription', 'Text', 215, 90, 131, 30, 3, None, 'Multiline description of the currently selected item.', None, None),
+('CustomizeDlg', 'ItemSize', 'Text', 215, 130, 131, 45, 3, None, 'The size of the currently selected item.', None, None),
+('CustomizeDlg', 'Location', 'Text', 75, 200, 215, 20, 3, None, "<The selection's path>", None, None),
+('CustomizeDlg', 'LocationLabel', 'Text', 25, 200, 50, 10, 3, None, 'Location:', None, None),
+('DiskCostDlg', 'Text', 'Text', 20, 53, 330, 40, 3, None, 'The highlighted volumes (if any) do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
+('DiskCostDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'OK', None),
+('DiskCostDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('DiskCostDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('DiskCostDlg', 'Description', 'Text', 20, 20, 280, 20, 196611, None, 'The disk space required for the installation of the selected features.', None, None),
+('DiskCostDlg', 'OK', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_OK]', 'BannerBitmap', None),
+('DiskCostDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Disk Space Requirements', None, None),
+('DiskCostDlg', 'VolumeList', 'VolumeCostList', 20, 100, 330, 120, 393223, None, '{120}{70}{70}{70}{70}', None, None),
+('ErrorDlg', 'Y', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_Yes]', None, None),
+('ErrorDlg', 'A', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_Cancel]', None, None),
+('ErrorDlg', 'C', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_Cancel]', None, None),
+('ErrorDlg', 'ErrorIcon', 'Icon', 15, 15, 24, 24, 5242881, None, '[InfoIcon]', None, 'Information icon|'),
+('ErrorDlg', 'ErrorText', 'Text', 48, 15, 205, 60, 3, None, 'Information text', None, None),
+('ErrorDlg', 'I', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_Ignore]', None, None),
+('ErrorDlg', 'N', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_No]', None, None),
+('ErrorDlg', 'O', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_OK]', None, None),
+('ErrorDlg', 'R', 'PushButton', 100, 80, 56, 17, 3, None, '[ButtonText_Retry]', None, None),
+('FilesInUse', 'Text', 'Text', 20, 55, 330, 30, 3, None, 'The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.', None, None),
+('FilesInUse', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Retry', None),
+('FilesInUse', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('FilesInUse', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('FilesInUse', 'Description', 'Text', 20, 23, 280, 20, 196611, None, 'Some files that need to be updated are currently in use.', None, None),
+('FilesInUse', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Files in Use', None, None),
+('FilesInUse', 'Retry', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Retry]', 'Ignore', None),
+('FilesInUse', 'Exit', 'PushButton', 166, 243, 56, 17, 3, None, '[ButtonText_Exit]', 'BannerBitmap', None),
+('FilesInUse', 'Ignore', 'PushButton', 235, 243, 56, 17, 3, None, '[ButtonText_Ignore]', 'Exit', None),
+('FilesInUse', 'List', 'ListBox', 20, 87, 330, 130, 7, 'FileInUseProcess', None, None, None),
+('LicenseAgreementDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'AgreementText', None),
+('LicenseAgreementDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('LicenseAgreementDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('LicenseAgreementDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('LicenseAgreementDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Please read the following license agreement carefully', None, None),
+('LicenseAgreementDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]End-User License Agreement', None, None),
+('LicenseAgreementDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('LicenseAgreementDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('LicenseAgreementDlg', 'AgreementText', 'ScrollableText', 20, 60, 330, 120, 7, None, '{\\rtf1\\ansi\\ansicpg1252\\deff0\\deftab720{\\fonttbl{\\f0\\froman\\fprq2 Times New Roman;}}{\\colortbl\\red0\\green0\\blue0;} \\deflang1033\\horzdoc{\\*\\fchars }{\\*\\lchars }\\pard\\plain\\f0\\fs20 <Your license agreement should go here.>\\par }', 'Buttons', None),
+('LicenseAgreementDlg', 'Buttons', 'RadioButtonGroup', 20, 187, 330, 40, 3, 'IAgree', None, 'Back', None),
+('MaintenanceTypeDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'ChangeLabel', None),
+('MaintenanceTypeDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('MaintenanceTypeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('MaintenanceTypeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('MaintenanceTypeDlg', 'Description', 'Text', 25, 23, 280, 20, 196611, None, 'Select the operation you wish to perform.', None, None),
+('MaintenanceTypeDlg', 'Title', 'Text', 15, 6, 240, 15, 196611, None, '[DlgTitleFont]Modify, Repair or Remove installation', None, None),
+('MaintenanceTypeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('MaintenanceTypeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 1, None, '[ButtonText_Next]', 'Cancel', None),
+('MaintenanceTypeDlg', 'ChangeLabel', 'Text', 105, 65, 100, 10, 3, None, '[DlgTitleFont]&Modify', 'ChangeButton', None),
+('MaintenanceTypeDlg', 'ChangeButton', 'PushButton', 50, 65, 38, 38, 5767171, None, '[CustomSetupIcon]', 'RepairLabel', 'Modify Installation|'),
+('MaintenanceTypeDlg', 'RepairLabel', 'Text', 105, 114, 100, 10, 3, None, '[DlgTitleFont]Re&pair', 'RepairButton', None),
+('MaintenanceTypeDlg', 'ChangeText', 'Text', 105, 78, 230, 20, 3, None, 'Allows users to change the way features are installed.', None, None),
+('MaintenanceTypeDlg', 'RemoveButton', 'PushButton', 50, 163, 38, 38, 5767171, None, '[RemoveIcon]', 'Back', 'Remove Installation|'),
+('MaintenanceTypeDlg', 'RemoveLabel', 'Text', 105, 163, 100, 10, 3, None, '[DlgTitleFont]&Remove', 'RemoveButton', None),
+('MaintenanceTypeDlg', 'RemoveText', 'Text', 105, 176, 230, 20, 3, None, 'Removes [ProductName] from your computer.', None, None),
+('MaintenanceTypeDlg', 'RepairButton', 'PushButton', 50, 114, 38, 38, 5767171, None, '[RepairIcon]', 'RemoveLabel', 'Repair Installation|'),
+('MaintenanceTypeDlg', 'RepairText', 'Text', 105, 127, 230, 30, 3, None, 'Repairs errors in the most recent installation state - fixes missing or corrupt files, shortcuts and registry entries.', None, None),
+('MaintenanceWelcomeDlg', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('MaintenanceWelcomeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('MaintenanceWelcomeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('MaintenanceWelcomeDlg', 'Description', 'Text', 135, 70, 220, 60, 196611, None, 'The [Wizard] will allow you to change the way [ProductName] features are installed on your computer or even to remove [ProductName] from your computer.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
+('MaintenanceWelcomeDlg', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
+('MaintenanceWelcomeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Next', None),
+('MaintenanceWelcomeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('OutOfDiskDlg', 'Text', 'Text', 20, 53, 330, 40, 3, None, 'The highlighted volumes do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
+('OutOfDiskDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'OK', None),
+('OutOfDiskDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('OutOfDiskDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('OutOfDiskDlg', 'Description', 'Text', 20, 20, 280, 20, 196611, None, 'Disk space required for the installation exceeds available disk space.', None, None),
+('OutOfDiskDlg', 'OK', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_OK]', 'BannerBitmap', None),
+('OutOfDiskDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Out of Disk Space', None, None),
+('OutOfDiskDlg', 'VolumeList', 'VolumeCostList', 20, 100, 330, 120, 393223, None, '{120}{70}{70}{70}{70}', None, None),
+('OutOfRbDiskDlg', 'Text', 'Text', 20, 53, 330, 40, 3, None, 'The highlighted volumes do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).', None, None),
+('OutOfRbDiskDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'No', None),
+('OutOfRbDiskDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('OutOfRbDiskDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('OutOfRbDiskDlg', 'Description', 'Text', 20, 20, 280, 20, 196611, None, 'Disk space required for the installation exceeds available disk space.', None, None),
+('OutOfRbDiskDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Out of Disk Space', None, None),
+('OutOfRbDiskDlg', 'No', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_No]', 'Yes', None),
+('OutOfRbDiskDlg', 'Yes', 'PushButton', 240, 243, 56, 17, 3, None, '[ButtonText_Yes]', 'BannerBitmap', None),
+('OutOfRbDiskDlg', 'VolumeList', 'VolumeCostList', 20, 140, 330, 80, 4587527, None, '{120}{70}{70}{70}{70}', None, None),
+('OutOfRbDiskDlg', 'Text2', 'Text', 20, 94, 330, 40, 3, None, "Alternatively, you may choose to disable the installer's rollback functionality.  This allows the installer to restore your computer's original state should the installation be interrupted in any way.  Click Yes if you wish to take the risk to disable rollback.", None, None),
+('ResumeDlg', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('ResumeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('ResumeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('ResumeDlg', 'Description', 'Text', 135, 70, 220, 30, 196611, None, 'The [Wizard] will complete the installation of [ProductName] on your computer.  Click Install to continue or Cancel to exit the [Wizard].', None, None),
+('ResumeDlg', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Resuming the [ProductName] [Wizard]', None, None),
+('ResumeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Install', None),
+('ResumeDlg', 'Install', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Install]', 'Cancel', None),
+('SetupTypeDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'TypicalLabel', None),
+('SetupTypeDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('SetupTypeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('SetupTypeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('SetupTypeDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Choose the setup type that best suits your needs', None, None),
+('SetupTypeDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Choose Setup Type', None, None),
+('SetupTypeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('SetupTypeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 1, None, '[ButtonText_Next]', 'Cancel', None),
+('SetupTypeDlg', 'TypicalLabel', 'Text', 105, 65, 100, 10, 3, None, '[DlgTitleFont]&Typical', 'TypicalButton', None),
+('SetupTypeDlg', 'CompleteButton', 'PushButton', 50, 171, 38, 38, 5767171, None, '[CompleteSetupIcon]', 'Back', 'Complete Installation|'),
+('SetupTypeDlg', 'CompleteLabel', 'Text', 105, 171, 100, 10, 3, None, '[DlgTitleFont]C&omplete', 'CompleteButton', None),
+('SetupTypeDlg', 'CompleteText', 'Text', 105, 184, 230, 20, 3, None, 'All program features will be installed.  (Requires most disk space)', None, None),
+('SetupTypeDlg', 'CustomButton', 'PushButton', 50, 118, 38, 38, 5767171, None, '[CustomSetupIcon]', 'CompleteLabel', 'Custom Installation|'),
+('SetupTypeDlg', 'CustomLabel', 'Text', 105, 118, 100, 10, 3, None, '[DlgTitleFont]C&ustom', 'CustomButton', None),
+('SetupTypeDlg', 'CustomText', 'Text', 105, 131, 230, 30, 3, None, 'Allows users to choose which program features will be installed and where they will be installed. Recommended for advanced users.', None, None),
+('SetupTypeDlg', 'TypicalButton', 'PushButton', 50, 65, 38, 38, 5767171, None, '[InstallerIcon]', 'CustomLabel', 'Typical Installation|'),
+('SetupTypeDlg', 'TypicalText', 'Text', 105, 78, 230, 20, 3, None, 'Installs the most common program features. Recommended for most users.', None, None),
+('UserRegistrationDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'NameLabel', None),
+('UserRegistrationDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('UserRegistrationDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('UserRegistrationDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('UserRegistrationDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'Please enter your customer information', None, None),
+('UserRegistrationDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Customer Information', None, None),
+('UserRegistrationDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Next', None),
+('UserRegistrationDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
+('UserRegistrationDlg', 'OrganizationLabel', 'Text', 45, 110, 100, 15, 3, None, '&Organization:', 'OrganizationEdit', None),
+('UserRegistrationDlg', 'CDKeyEdit', 'MaskedEdit', 45, 159, 250, 16, 3, 'PIDKEY', '[PIDTemplate]', 'Back', None),
+('UserRegistrationDlg', 'CDKeyLabel', 'Text', 45, 147, 50, 10, 3, None, 'CD &Key:', 'CDKeyEdit', None),
+('UserRegistrationDlg', 'OrganizationEdit', 'Edit', 45, 122, 220, 18, 3, 'COMPANYNAME', '{80}', 'CDKeyLabel', None),
+('UserRegistrationDlg', 'NameLabel', 'Text', 45, 73, 100, 15, 3, None, '&User Name:', 'NameEdit', None),
+('UserRegistrationDlg', 'NameEdit', 'Edit', 45, 85, 220, 18, 3, 'USERNAME', '{80}', 'OrganizationLabel', None),
+('VerifyReadyDlg', 'Text', 'Text', 25, 70, 320, 20, 3, None, 'Click Install to begin the installation.  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
+('VerifyReadyDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Back', None),
+('VerifyReadyDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('VerifyReadyDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('VerifyReadyDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('VerifyReadyDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'The [Wizard] is ready to begin the [InstallMode] installation', None, None),
+('VerifyReadyDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Ready to Install', None, None),
+('VerifyReadyDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Install', None),
+('VerifyReadyDlg', 'Install', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Install]', 'Cancel', None),
+('VerifyRemoveDlg', 'Text', 'Text', 25, 70, 320, 30, 3, None, 'Click Remove to remove [ProductName] from your computer.  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
+('VerifyRemoveDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Back', None),
+('VerifyRemoveDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('VerifyRemoveDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('VerifyRemoveDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('VerifyRemoveDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'You have chosen to remove the program from your computer.', None, None),
+('VerifyRemoveDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Remove [ProductName]', None, None),
+('VerifyRemoveDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Remove', None),
+('VerifyRemoveDlg', 'Remove', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Remove]', 'Cancel', None),
+('VerifyRepairDlg', 'Text', 'Text', 25, 70, 320, 30, 3, None, 'Click Repair to repair the installation of [ProductName].  If you want to review or change any of your installation settings, click Back.  Click Cancel to exit the wizard.', None, None),
+('VerifyRepairDlg', 'BannerBitmap', 'Bitmap', 0, 0, 374, 44, 1, None, '[BannerBitmap]', 'Back', None),
+('VerifyRepairDlg', 'BannerLine', 'Line', 0, 44, 374, 0, 1, None, None, None, None),
+('VerifyRepairDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('VerifyRepairDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'BannerBitmap', None),
+('VerifyRepairDlg', 'Description', 'Text', 25, 23, 280, 15, 196611, None, 'The [Wizard] is ready to begin the repair of [ProductName].', None, None),
+('VerifyRepairDlg', 'Title', 'Text', 15, 6, 200, 15, 196611, None, '[DlgTitleFont]Repair [ProductName]', None, None),
+('VerifyRepairDlg', 'Back', 'PushButton', 180, 243, 56, 17, 3, None, '[ButtonText_Back]', 'Repair', None),
+('VerifyRepairDlg', 'Repair', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Repair]', 'Cancel', None),
+('WaitForCostingDlg', 'Text', 'Text', 48, 15, 194, 30, 3, None, 'Please wait while the installer finishes determining your disk space requirements.', None, None),
+('WaitForCostingDlg', 'Icon', 'Icon', 15, 15, 24, 24, 5242881, None, '[ExclamationIcon]', None, 'Exclamation icon|'),
+('WaitForCostingDlg', 'Return', 'PushButton', 102, 57, 56, 17, 3, None, '[ButtonText_Return]', None, None),
+('WelcomeDlg', 'Bitmap', 'Bitmap', 0, 0, 370, 234, 1, None, '[DialogBitmap]', 'Back', None),
+('WelcomeDlg', 'BottomLine', 'Line', 0, 234, 374, 0, 1, None, None, None, None),
+('WelcomeDlg', 'Cancel', 'PushButton', 304, 243, 56, 17, 3, None, '[ButtonText_Cancel]', 'Bitmap', None),
+('WelcomeDlg', 'Description', 'Text', 135, 70, 220, 30, 196611, None, 'The [Wizard] will install [ProductName] on your computer.  Click Next to continue or Cancel to exit the [Wizard].', None, None),
+('WelcomeDlg', 'Title', 'Text', 135, 20, 220, 60, 196611, None, '{\\VerdanaBold13}Welcome to the [ProductName] [Wizard]', None, None),
+('WelcomeDlg', 'Back', 'PushButton', 180, 243, 56, 17, 1, None, '[ButtonText_Back]', 'Next', None),
+('WelcomeDlg', 'Next', 'PushButton', 236, 243, 56, 17, 3, None, '[ButtonText_Next]', 'Cancel', None),
 ]
 
 ListBox = [
 ]
 
 ActionText = [
-(u'InstallValidate', u'Validating install', None),
-(u'InstallFiles', u'Copying new files', u'File: [1],  Directory: [9],  Size: [6]'),
-(u'InstallAdminPackage', u'Copying network install files', u'File: [1], Directory: [9], Size: [6]'),
-(u'FileCost', u'Computing space requirements', None),
-(u'CostInitialize', u'Computing space requirements', None),
-(u'CostFinalize', u'Computing space requirements', None),
-(u'CreateShortcuts', u'Creating shortcuts', u'Shortcut: [1]'),
-(u'PublishComponents', u'Publishing Qualified Components', u'Component ID: [1], Qualifier: [2]'),
-(u'PublishFeatures', u'Publishing Product Features', u'Feature: [1]'),
-(u'PublishProduct', u'Publishing product information', None),
-(u'RegisterClassInfo', u'Registering Class servers', u'Class Id: [1]'),
-(u'RegisterExtensionInfo', u'Registering extension servers', u'Extension: [1]'),
-(u'RegisterMIMEInfo', u'Registering MIME info', u'MIME Content Type: [1], Extension: [2]'),
-(u'RegisterProgIdInfo', u'Registering program identifiers', u'ProgId: [1]'),
-(u'AllocateRegistrySpace', u'Allocating registry space', u'Free space: [1]'),
-(u'AppSearch', u'Searching for installed applications', u'Property: [1], Signature: [2]'),
-(u'BindImage', u'Binding executables', u'File: [1]'),
-(u'CCPSearch', u'Searching for qualifying products', None),
-(u'CreateFolders', u'Creating folders', u'Folder: [1]'),
-(u'DeleteServices', u'Deleting services', u'Service: [1]'),
-(u'DuplicateFiles', u'Creating duplicate files', u'File: [1],  Directory: [9],  Size: [6]'),
-(u'FindRelatedProducts', u'Searching for related applications', u'Found application: [1]'),
-(u'InstallODBC', u'Installing ODBC components', None),
-(u'InstallServices', u'Installing new services', u'Service: [2]'),
-(u'LaunchConditions', u'Evaluating launch conditions', None),
-(u'MigrateFeatureStates', u'Migrating feature states from related applications', u'Application: [1]'),
-(u'MoveFiles', u'Moving files', u'File: [1],  Directory: [9],  Size: [6]'),
-(u'PatchFiles', u'Patching files', u'File: [1],  Directory: [2],  Size: [3]'),
-(u'ProcessComponents', u'Updating component registration', None),
-(u'RegisterComPlus', u'Registering COM+ Applications and Components', u'AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}'),
-(u'RegisterFonts', u'Registering fonts', u'Font: [1]'),
-(u'RegisterProduct', u'Registering product', u'[1]'),
-(u'RegisterTypeLibraries', u'Registering type libraries', u'LibID: [1]'),
-(u'RegisterUser', u'Registering user', u'[1]'),
-(u'RemoveDuplicateFiles', u'Removing duplicated files', u'File: [1], Directory: [9]'),
-(u'RemoveEnvironmentStrings', u'Updating environment strings', u'Name: [1], Value: [2], Action [3]'),
-(u'RemoveExistingProducts', u'Removing applications', u'Application: [1], Command line: [2]'),
-(u'RemoveFiles', u'Removing files', u'File: [1], Directory: [9]'),
-(u'RemoveFolders', u'Removing folders', u'Folder: [1]'),
-(u'RemoveIniValues', u'Removing INI files entries', u'File: [1],  Section: [2],  Key: [3], Value: [4]'),
-(u'RemoveODBC', u'Removing ODBC components', None),
-(u'RemoveRegistryValues', u'Removing system registry values', u'Key: [1], Name: [2]'),
-(u'RemoveShortcuts', u'Removing shortcuts', u'Shortcut: [1]'),
-(u'RMCCPSearch', u'Searching for qualifying products', None),
-(u'SelfRegModules', u'Registering modules', u'File: [1], Folder: [2]'),
-(u'SelfUnregModules', u'Unregistering modules', u'File: [1], Folder: [2]'),
-(u'SetODBCFolders', u'Initializing ODBC directories', None),
-(u'StartServices', u'Starting services', u'Service: [1]'),
-(u'StopServices', u'Stopping services', u'Service: [1]'),
-(u'UnpublishComponents', u'Unpublishing Qualified Components', u'Component ID: [1], Qualifier: [2]'),
-(u'UnpublishFeatures', u'Unpublishing Product Features', u'Feature: [1]'),
-(u'UnregisterClassInfo', u'Unregister Class servers', u'Class Id: [1]'),
-(u'UnregisterComPlus', u'Unregistering COM+ Applications and Components', u'AppId: [1]{{, AppType: [2]}}'),
-(u'UnregisterExtensionInfo', u'Unregistering extension servers', u'Extension: [1]'),
-(u'UnregisterFonts', u'Unregistering fonts', u'Font: [1]'),
-(u'UnregisterMIMEInfo', u'Unregistering MIME info', u'MIME Content Type: [1], Extension: [2]'),
-(u'UnregisterProgIdInfo', u'Unregistering program identifiers', u'ProgId: [1]'),
-(u'UnregisterTypeLibraries', u'Unregistering type libraries', u'LibID: [1]'),
-(u'WriteEnvironmentStrings', u'Updating environment strings', u'Name: [1], Value: [2], Action [3]'),
-(u'WriteIniValues', u'Writing INI files values', u'File: [1],  Section: [2],  Key: [3], Value: [4]'),
-(u'WriteRegistryValues', u'Writing system registry values', u'Key: [1], Name: [2], Value: [3]'),
-(u'Advertise', u'Advertising application', None),
-(u'GenerateScript', u'Generating script operations for action:', u'[1]'),
-(u'InstallSFPCatalogFile', u'Installing system catalog', u'File: [1],  Dependencies: [2]'),
-(u'MsiPublishAssemblies', u'Publishing assembly information', u'Application Context:[1], Assembly Name:[2]'),
-(u'MsiUnpublishAssemblies', u'Unpublishing assembly information', u'Application Context:[1], Assembly Name:[2]'),
-(u'Rollback', u'Rolling back action:', u'[1]'),
-(u'RollbackCleanup', u'Removing backup files', u'File: [1]'),
-(u'UnmoveFiles', u'Removing moved files', u'File: [1], Directory: [9]'),
-(u'UnpublishProduct', u'Unpublishing product information', None),
+('InstallValidate', 'Validating install', None),
+('InstallFiles', 'Copying new files', 'File: [1],  Directory: [9],  Size: [6]'),
+('InstallAdminPackage', 'Copying network install files', 'File: [1], Directory: [9], Size: [6]'),
+('FileCost', 'Computing space requirements', None),
+('CostInitialize', 'Computing space requirements', None),
+('CostFinalize', 'Computing space requirements', None),
+('CreateShortcuts', 'Creating shortcuts', 'Shortcut: [1]'),
+('PublishComponents', 'Publishing Qualified Components', 'Component ID: [1], Qualifier: [2]'),
+('PublishFeatures', 'Publishing Product Features', 'Feature: [1]'),
+('PublishProduct', 'Publishing product information', None),
+('RegisterClassInfo', 'Registering Class servers', 'Class Id: [1]'),
+('RegisterExtensionInfo', 'Registering extension servers', 'Extension: [1]'),
+('RegisterMIMEInfo', 'Registering MIME info', 'MIME Content Type: [1], Extension: [2]'),
+('RegisterProgIdInfo', 'Registering program identifiers', 'ProgId: [1]'),
+('AllocateRegistrySpace', 'Allocating registry space', 'Free space: [1]'),
+('AppSearch', 'Searching for installed applications', 'Property: [1], Signature: [2]'),
+('BindImage', 'Binding executables', 'File: [1]'),
+('CCPSearch', 'Searching for qualifying products', None),
+('CreateFolders', 'Creating folders', 'Folder: [1]'),
+('DeleteServices', 'Deleting services', 'Service: [1]'),
+('DuplicateFiles', 'Creating duplicate files', 'File: [1],  Directory: [9],  Size: [6]'),
+('FindRelatedProducts', 'Searching for related applications', 'Found application: [1]'),
+('InstallODBC', 'Installing ODBC components', None),
+('InstallServices', 'Installing new services', 'Service: [2]'),
+('LaunchConditions', 'Evaluating launch conditions', None),
+('MigrateFeatureStates', 'Migrating feature states from related applications', 'Application: [1]'),
+('MoveFiles', 'Moving files', 'File: [1],  Directory: [9],  Size: [6]'),
+('PatchFiles', 'Patching files', 'File: [1],  Directory: [2],  Size: [3]'),
+('ProcessComponents', 'Updating component registration', None),
+('RegisterComPlus', 'Registering COM+ Applications and Components', 'AppId: [1]{{, AppType: [2], Users: [3], RSN: [4]}}'),
+('RegisterFonts', 'Registering fonts', 'Font: [1]'),
+('RegisterProduct', 'Registering product', '[1]'),
+('RegisterTypeLibraries', 'Registering type libraries', 'LibID: [1]'),
+('RegisterUser', 'Registering user', '[1]'),
+('RemoveDuplicateFiles', 'Removing duplicated files', 'File: [1], Directory: [9]'),
+('RemoveEnvironmentStrings', 'Updating environment strings', 'Name: [1], Value: [2], Action [3]'),
+('RemoveExistingProducts', 'Removing applications', 'Application: [1], Command line: [2]'),
+('RemoveFiles', 'Removing files', 'File: [1], Directory: [9]'),
+('RemoveFolders', 'Removing folders', 'Folder: [1]'),
+('RemoveIniValues', 'Removing INI files entries', 'File: [1],  Section: [2],  Key: [3], Value: [4]'),
+('RemoveODBC', 'Removing ODBC components', None),
+('RemoveRegistryValues', 'Removing system registry values', 'Key: [1], Name: [2]'),
+('RemoveShortcuts', 'Removing shortcuts', 'Shortcut: [1]'),
+('RMCCPSearch', 'Searching for qualifying products', None),
+('SelfRegModules', 'Registering modules', 'File: [1], Folder: [2]'),
+('SelfUnregModules', 'Unregistering modules', 'File: [1], Folder: [2]'),
+('SetODBCFolders', 'Initializing ODBC directories', None),
+('StartServices', 'Starting services', 'Service: [1]'),
+('StopServices', 'Stopping services', 'Service: [1]'),
+('UnpublishComponents', 'Unpublishing Qualified Components', 'Component ID: [1], Qualifier: [2]'),
+('UnpublishFeatures', 'Unpublishing Product Features', 'Feature: [1]'),
+('UnregisterClassInfo', 'Unregister Class servers', 'Class Id: [1]'),
+('UnregisterComPlus', 'Unregistering COM+ Applications and Components', 'AppId: [1]{{, AppType: [2]}}'),
+('UnregisterExtensionInfo', 'Unregistering extension servers', 'Extension: [1]'),
+('UnregisterFonts', 'Unregistering fonts', 'Font: [1]'),
+('UnregisterMIMEInfo', 'Unregistering MIME info', 'MIME Content Type: [1], Extension: [2]'),
+('UnregisterProgIdInfo', 'Unregistering program identifiers', 'ProgId: [1]'),
+('UnregisterTypeLibraries', 'Unregistering type libraries', 'LibID: [1]'),
+('WriteEnvironmentStrings', 'Updating environment strings', 'Name: [1], Value: [2], Action [3]'),
+('WriteIniValues', 'Writing INI files values', 'File: [1],  Section: [2],  Key: [3], Value: [4]'),
+('WriteRegistryValues', 'Writing system registry values', 'Key: [1], Name: [2], Value: [3]'),
+('Advertise', 'Advertising application', None),
+('GenerateScript', 'Generating script operations for action:', '[1]'),
+('InstallSFPCatalogFile', 'Installing system catalog', 'File: [1],  Dependencies: [2]'),
+('MsiPublishAssemblies', 'Publishing assembly information', 'Application Context:[1], Assembly Name:[2]'),
+('MsiUnpublishAssemblies', 'Unpublishing assembly information', 'Application Context:[1], Assembly Name:[2]'),
+('Rollback', 'Rolling back action:', '[1]'),
+('RollbackCleanup', 'Removing backup files', 'File: [1]'),
+('UnmoveFiles', 'Removing moved files', 'File: [1], Directory: [9]'),
+('UnpublishProduct', 'Unpublishing product information', None),
 ]
 
 ControlCondition = [
-(u'CustomizeDlg', u'Browse', u'Hide', u'Installed'),
-(u'CustomizeDlg', u'Location', u'Hide', u'Installed'),
-(u'CustomizeDlg', u'LocationLabel', u'Hide', u'Installed'),
-(u'LicenseAgreementDlg', u'Next', u'Disable', u'IAgree <> "Yes"'),
-(u'LicenseAgreementDlg', u'Next', u'Enable', u'IAgree = "Yes"'),
+('CustomizeDlg', 'Browse', 'Hide', 'Installed'),
+('CustomizeDlg', 'Location', 'Hide', 'Installed'),
+('CustomizeDlg', 'LocationLabel', 'Hide', 'Installed'),
+('LicenseAgreementDlg', 'Next', 'Disable', 'IAgree <> "Yes"'),
+('LicenseAgreementDlg', 'Next', 'Enable', 'IAgree = "Yes"'),
 ]
 
 ControlEvent = [
-(u'AdminWelcomeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'AdminWelcomeDlg', u'Next', u'NewDialog', u'AdminRegistrationDlg', u'1', 2),
-(u'AdminWelcomeDlg', u'Next', u'[InstallMode]', u'Server Image', u'1', 1),
-(u'ExitDialog', u'Finish', u'EndDialog', u'Return', u'1', None),
-(u'FatalError', u'Finish', u'EndDialog', u'Exit', u'1', None),
-(u'PrepareDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'ProgressDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'UserExit', u'Finish', u'EndDialog', u'Exit', u'1', None),
-(u'AdminBrowseDlg', u'Up', u'DirectoryListUp', u'0', u'1', None),
-(u'AdminBrowseDlg', u'Cancel', u'Reset', u'0', u'1', 1),
-(u'AdminBrowseDlg', u'Cancel', u'EndDialog', u'Return', u'1', 2),
-(u'AdminBrowseDlg', u'NewFolder', u'DirectoryListNew', u'0', u'1', None),
-(u'AdminBrowseDlg', u'OK', u'EndDialog', u'Return', u'1', 2),
-(u'AdminBrowseDlg', u'OK', u'SetTargetPath', u'TARGETDIR', u'1', 1),
-(u'AdminInstallPointDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'AdminInstallPointDlg', u'Back', u'NewDialog', u'AdminRegistrationDlg', u'1', None),
-(u'AdminInstallPointDlg', u'Next', u'SetTargetPath', u'TARGETDIR', u'1', 1),
-(u'AdminInstallPointDlg', u'Next', u'NewDialog', u'VerifyReadyDlg', u'1', 2),
-(u'AdminInstallPointDlg', u'Browse', u'SpawnDialog', u'AdminBrowseDlg', u'1', None),
-(u'AdminRegistrationDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'AdminRegistrationDlg', u'Back', u'NewDialog', u'AdminWelcomeDlg', u'1', None),
-(u'AdminRegistrationDlg', u'Next', u'NewDialog', u'AdminInstallPointDlg', u'ProductID', 2),
-(u'AdminRegistrationDlg', u'Next', u'ValidateProductID', u'0', u'0', 1),
-(u'BrowseDlg', u'Up', u'DirectoryListUp', u'0', u'1', None),
-(u'BrowseDlg', u'Cancel', u'Reset', u'0', u'1', 1),
-(u'BrowseDlg', u'Cancel', u'EndDialog', u'Return', u'1', 2),
-(u'BrowseDlg', u'NewFolder', u'DirectoryListNew', u'0', u'1', None),
-(u'BrowseDlg', u'OK', u'EndDialog', u'Return', u'1', 2),
-(u'BrowseDlg', u'OK', u'SetTargetPath', u'[_BrowseProperty]', u'1', 1),
-(u'CancelDlg', u'No', u'EndDialog', u'Return', u'1', None),
-(u'CancelDlg', u'Yes', u'EndDialog', u'Exit', u'1', None),
-(u'CustomizeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'CustomizeDlg', u'Back', u'NewDialog', u'MaintenanceTypeDlg', u'InstallMode = "Change"', None),
-(u'CustomizeDlg', u'Back', u'NewDialog', u'SetupTypeDlg', u'InstallMode = "Custom"', None),
-(u'CustomizeDlg', u'Next', u'NewDialog', u'VerifyReadyDlg', u'1', None),
-(u'CustomizeDlg', u'Browse', u'SelectionBrowse', u'BrowseDlg', u'1', None),
-(u'CustomizeDlg', u'Reset', u'Reset', u'0', u'1', None),
-(u'CustomizeDlg', u'DiskCost', u'SpawnDialog', u'DiskCostDlg', u'1', 2),
-(u'DiskCostDlg', u'OK', u'EndDialog', u'Return', u'1', None),
-(u'ErrorDlg', u'Y', u'EndDialog', u'ErrorYes', u'1', None),
-(u'ErrorDlg', u'A', u'EndDialog', u'ErrorAbort', u'1', None),
-(u'ErrorDlg', u'C', u'EndDialog', u'ErrorCancel', u'1', None),
-(u'ErrorDlg', u'I', u'EndDialog', u'ErrorIgnore', u'1', None),
-(u'ErrorDlg', u'N', u'EndDialog', u'ErrorNo', u'1', None),
-(u'ErrorDlg', u'O', u'EndDialog', u'ErrorOk', u'1', None),
-(u'ErrorDlg', u'R', u'EndDialog', u'ErrorRetry', u'1', None),
-(u'FilesInUse', u'Retry', u'EndDialog', u'Retry', u'1', None),
-(u'FilesInUse', u'Exit', u'EndDialog', u'Exit', u'1', None),
-(u'FilesInUse', u'Ignore', u'EndDialog', u'Ignore', u'1', None),
-(u'LicenseAgreementDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'LicenseAgreementDlg', u'Back', u'NewDialog', u'WelcomeDlg', u'1', None),
-(u'LicenseAgreementDlg', u'Next', u'NewDialog', u'SetupTypeDlg', u'IAgree = "Yes" AND ShowUserRegistrationDlg <> 1', 3),
-(u'LicenseAgreementDlg', u'Next', u'NewDialog', u'UserRegistrationDlg', u'IAgree = "Yes" AND ShowUserRegistrationDlg = 1', 1),
-(u'LicenseAgreementDlg', u'Next', u'SpawnWaitDialog', u'WaitForCostingDlg', u'CostingComplete = 1', 2),
-(u'MaintenanceTypeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'MaintenanceTypeDlg', u'Back', u'NewDialog', u'MaintenanceWelcomeDlg', u'1', None),
-(u'MaintenanceTypeDlg', u'ChangeButton', u'NewDialog', u'CustomizeDlg', u'1', 4),
-(u'MaintenanceTypeDlg', u'ChangeButton', u'[InstallMode]', u'Change', u'1', 1),
-(u'MaintenanceTypeDlg', u'ChangeButton', u'[Progress1]', u'Changing', u'1', 2),
-(u'MaintenanceTypeDlg', u'ChangeButton', u'[Progress2]', u'changes', u'1', 3),
-(u'MaintenanceTypeDlg', u'RemoveButton', u'NewDialog', u'VerifyRemoveDlg', u'1', 4),
-(u'MaintenanceTypeDlg', u'RemoveButton', u'[InstallMode]', u'Remove', u'1', 1),
-(u'MaintenanceTypeDlg', u'RemoveButton', u'[Progress1]', u'Removing', u'1', 2),
-(u'MaintenanceTypeDlg', u'RemoveButton', u'[Progress2]', u'removes', u'1', 3),
-(u'MaintenanceTypeDlg', u'RepairButton', u'NewDialog', u'VerifyRepairDlg', u'1', 4),
-(u'MaintenanceTypeDlg', u'RepairButton', u'[InstallMode]', u'Repair', u'1', 1),
-(u'MaintenanceTypeDlg', u'RepairButton', u'[Progress1]', u'Repairing', u'1', 2),
-(u'MaintenanceTypeDlg', u'RepairButton', u'[Progress2]', u'repairs', u'1', 3),
-(u'MaintenanceWelcomeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'MaintenanceWelcomeDlg', u'Next', u'NewDialog', u'MaintenanceTypeDlg', u'1', 2),
-(u'MaintenanceWelcomeDlg', u'Next', u'SpawnWaitDialog', u'WaitForCostingDlg', u'CostingComplete = 1', 1),
-(u'OutOfDiskDlg', u'OK', u'EndDialog', u'Return', u'1', None),
-(u'OutOfRbDiskDlg', u'No', u'EndDialog', u'Return', u'1', None),
-(u'OutOfRbDiskDlg', u'Yes', u'EndDialog', u'Return', u'1', 2),
-(u'OutOfRbDiskDlg', u'Yes', u'EnableRollback', u'False', u'1', 1),
-(u'ResumeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'ResumeDlg', u'Install', u'EndDialog', u'Return', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
-(u'ResumeDlg', u'Install', u'EndDialog', u'Return', u'OutOfDiskSpace <> 1', 2),
-(u'ResumeDlg', u'Install', u'SpawnDialog', u'OutOfDiskDlg', u'(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 6),
-(u'ResumeDlg', u'Install', u'SpawnDialog', u'OutOfRbDiskDlg', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 3),
-(u'ResumeDlg', u'Install', u'SpawnWaitDialog', u'WaitForCostingDlg', u'CostingComplete = 1', 1),
-(u'ResumeDlg', u'Install', u'EnableRollback', u'False', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
-(u'SetupTypeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'SetupTypeDlg', u'Back', u'NewDialog', u'LicenseAgreementDlg', u'ShowUserRegistrationDlg <> 1', None),
-(u'SetupTypeDlg', u'Back', u'NewDialog', u'UserRegistrationDlg', u'ShowUserRegistrationDlg = 1', None),
-(u'SetupTypeDlg', u'CompleteButton', u'NewDialog', u'VerifyReadyDlg', u'1', 3),
-(u'SetupTypeDlg', u'CompleteButton', u'[InstallMode]', u'Complete', u'1', 1),
-(u'SetupTypeDlg', u'CompleteButton', u'SetInstallLevel', u'1000', u'1', 2),
-(u'SetupTypeDlg', u'CustomButton', u'NewDialog', u'CustomizeDlg', u'1', 2),
-(u'SetupTypeDlg', u'CustomButton', u'[InstallMode]', u'Custom', u'1', 1),
-(u'SetupTypeDlg', u'TypicalButton', u'NewDialog', u'VerifyReadyDlg', u'1', 3),
-(u'SetupTypeDlg', u'TypicalButton', u'[InstallMode]', u'Typical', u'1', 1),
-(u'SetupTypeDlg', u'TypicalButton', u'SetInstallLevel', u'3', u'1', 2),
-(u'UserRegistrationDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'UserRegistrationDlg', u'Back', u'NewDialog', u'LicenseAgreementDlg', u'1', None),
-(u'UserRegistrationDlg', u'Next', u'NewDialog', u'SetupTypeDlg', u'ProductID', 3),
-(u'UserRegistrationDlg', u'Next', u'ValidateProductID', u'0', u'0', 1),
-(u'UserRegistrationDlg', u'Next', u'SpawnWaitDialog', u'WaitForCostingDlg', u'CostingComplete = 1', 2),
-(u'VerifyReadyDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'VerifyReadyDlg', u'Back', u'NewDialog', u'AdminInstallPointDlg', u'InstallMode = "Server Image"', None),
-(u'VerifyReadyDlg', u'Back', u'NewDialog', u'CustomizeDlg', u'InstallMode = "Custom" OR InstallMode = "Change"', None),
-(u'VerifyReadyDlg', u'Back', u'NewDialog', u'MaintenanceTypeDlg', u'InstallMode = "Repair"', None),
-(u'VerifyReadyDlg', u'Back', u'NewDialog', u'SetupTypeDlg', u'InstallMode = "Typical" OR InstallMode = "Complete"', None),
-(u'VerifyReadyDlg', u'Install', u'EndDialog', u'Return', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 3),
-(u'VerifyReadyDlg', u'Install', u'EndDialog', u'Return', u'OutOfDiskSpace <> 1', 1),
-(u'VerifyReadyDlg', u'Install', u'SpawnDialog', u'OutOfDiskDlg', u'(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 5),
-(u'VerifyReadyDlg', u'Install', u'SpawnDialog', u'OutOfRbDiskDlg', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 2),
-(u'VerifyReadyDlg', u'Install', u'EnableRollback', u'False', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
-(u'VerifyRemoveDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'VerifyRemoveDlg', u'Back', u'NewDialog', u'MaintenanceTypeDlg', u'1', None),
-(u'VerifyRemoveDlg', u'Remove', u'Remove', u'All', u'OutOfDiskSpace <> 1', 1),
-(u'VerifyRemoveDlg', u'Remove', u'EndDialog', u'Return', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
-(u'VerifyRemoveDlg', u'Remove', u'EndDialog', u'Return', u'OutOfDiskSpace <> 1', 2),
-(u'VerifyRemoveDlg', u'Remove', u'SpawnDialog', u'OutOfDiskDlg', u'(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 6),
-(u'VerifyRemoveDlg', u'Remove', u'SpawnDialog', u'OutOfRbDiskDlg', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 3),
-(u'VerifyRemoveDlg', u'Remove', u'EnableRollback', u'False', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
-(u'VerifyRepairDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'VerifyRepairDlg', u'Back', u'NewDialog', u'MaintenanceTypeDlg', u'1', None),
-(u'VerifyRepairDlg', u'Repair', u'EndDialog', u'Return', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
-(u'VerifyRepairDlg', u'Repair', u'EndDialog', u'Return', u'OutOfDiskSpace <> 1', 3),
-(u'VerifyRepairDlg', u'Repair', u'SpawnDialog', u'OutOfDiskDlg', u'(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 7),
-(u'VerifyRepairDlg', u'Repair', u'SpawnDialog', u'OutOfRbDiskDlg', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 4),
-(u'VerifyRepairDlg', u'Repair', u'EnableRollback', u'False', u'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 6),
-(u'VerifyRepairDlg', u'Repair', u'Reinstall', u'All', u'OutOfDiskSpace <> 1', 2),
-(u'VerifyRepairDlg', u'Repair', u'ReinstallMode', u'ecmus', u'OutOfDiskSpace <> 1', 1),
-(u'WaitForCostingDlg', u'Return', u'EndDialog', u'Exit', u'1', None),
-(u'WelcomeDlg', u'Cancel', u'SpawnDialog', u'CancelDlg', u'1', None),
-(u'WelcomeDlg', u'Next', u'NewDialog', u'LicenseAgreementDlg', u'1', None),
+('AdminWelcomeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('AdminWelcomeDlg', 'Next', 'NewDialog', 'AdminRegistrationDlg', '1', 2),
+('AdminWelcomeDlg', 'Next', '[InstallMode]', 'Server Image', '1', 1),
+('ExitDialog', 'Finish', 'EndDialog', 'Return', '1', None),
+('FatalError', 'Finish', 'EndDialog', 'Exit', '1', None),
+('PrepareDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('ProgressDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('UserExit', 'Finish', 'EndDialog', 'Exit', '1', None),
+('AdminBrowseDlg', 'Up', 'DirectoryListUp', '0', '1', None),
+('AdminBrowseDlg', 'Cancel', 'Reset', '0', '1', 1),
+('AdminBrowseDlg', 'Cancel', 'EndDialog', 'Return', '1', 2),
+('AdminBrowseDlg', 'NewFolder', 'DirectoryListNew', '0', '1', None),
+('AdminBrowseDlg', 'OK', 'EndDialog', 'Return', '1', 2),
+('AdminBrowseDlg', 'OK', 'SetTargetPath', 'TARGETDIR', '1', 1),
+('AdminInstallPointDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('AdminInstallPointDlg', 'Back', 'NewDialog', 'AdminRegistrationDlg', '1', None),
+('AdminInstallPointDlg', 'Next', 'SetTargetPath', 'TARGETDIR', '1', 1),
+('AdminInstallPointDlg', 'Next', 'NewDialog', 'VerifyReadyDlg', '1', 2),
+('AdminInstallPointDlg', 'Browse', 'SpawnDialog', 'AdminBrowseDlg', '1', None),
+('AdminRegistrationDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('AdminRegistrationDlg', 'Back', 'NewDialog', 'AdminWelcomeDlg', '1', None),
+('AdminRegistrationDlg', 'Next', 'NewDialog', 'AdminInstallPointDlg', 'ProductID', 2),
+('AdminRegistrationDlg', 'Next', 'ValidateProductID', '0', '0', 1),
+('BrowseDlg', 'Up', 'DirectoryListUp', '0', '1', None),
+('BrowseDlg', 'Cancel', 'Reset', '0', '1', 1),
+('BrowseDlg', 'Cancel', 'EndDialog', 'Return', '1', 2),
+('BrowseDlg', 'NewFolder', 'DirectoryListNew', '0', '1', None),
+('BrowseDlg', 'OK', 'EndDialog', 'Return', '1', 2),
+('BrowseDlg', 'OK', 'SetTargetPath', '[_BrowseProperty]', '1', 1),
+('CancelDlg', 'No', 'EndDialog', 'Return', '1', None),
+('CancelDlg', 'Yes', 'EndDialog', 'Exit', '1', None),
+('CustomizeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('CustomizeDlg', 'Back', 'NewDialog', 'MaintenanceTypeDlg', 'InstallMode = "Change"', None),
+('CustomizeDlg', 'Back', 'NewDialog', 'SetupTypeDlg', 'InstallMode = "Custom"', None),
+('CustomizeDlg', 'Next', 'NewDialog', 'VerifyReadyDlg', '1', None),
+('CustomizeDlg', 'Browse', 'SelectionBrowse', 'BrowseDlg', '1', None),
+('CustomizeDlg', 'Reset', 'Reset', '0', '1', None),
+('CustomizeDlg', 'DiskCost', 'SpawnDialog', 'DiskCostDlg', '1', 2),
+('DiskCostDlg', 'OK', 'EndDialog', 'Return', '1', None),
+('ErrorDlg', 'Y', 'EndDialog', 'ErrorYes', '1', None),
+('ErrorDlg', 'A', 'EndDialog', 'ErrorAbort', '1', None),
+('ErrorDlg', 'C', 'EndDialog', 'ErrorCancel', '1', None),
+('ErrorDlg', 'I', 'EndDialog', 'ErrorIgnore', '1', None),
+('ErrorDlg', 'N', 'EndDialog', 'ErrorNo', '1', None),
+('ErrorDlg', 'O', 'EndDialog', 'ErrorOk', '1', None),
+('ErrorDlg', 'R', 'EndDialog', 'ErrorRetry', '1', None),
+('FilesInUse', 'Retry', 'EndDialog', 'Retry', '1', None),
+('FilesInUse', 'Exit', 'EndDialog', 'Exit', '1', None),
+('FilesInUse', 'Ignore', 'EndDialog', 'Ignore', '1', None),
+('LicenseAgreementDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('LicenseAgreementDlg', 'Back', 'NewDialog', 'WelcomeDlg', '1', None),
+('LicenseAgreementDlg', 'Next', 'NewDialog', 'SetupTypeDlg', 'IAgree = "Yes" AND ShowUserRegistrationDlg <> 1', 3),
+('LicenseAgreementDlg', 'Next', 'NewDialog', 'UserRegistrationDlg', 'IAgree = "Yes" AND ShowUserRegistrationDlg = 1', 1),
+('LicenseAgreementDlg', 'Next', 'SpawnWaitDialog', 'WaitForCostingDlg', 'CostingComplete = 1', 2),
+('MaintenanceTypeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('MaintenanceTypeDlg', 'Back', 'NewDialog', 'MaintenanceWelcomeDlg', '1', None),
+('MaintenanceTypeDlg', 'ChangeButton', 'NewDialog', 'CustomizeDlg', '1', 4),
+('MaintenanceTypeDlg', 'ChangeButton', '[InstallMode]', 'Change', '1', 1),
+('MaintenanceTypeDlg', 'ChangeButton', '[Progress1]', 'Changing', '1', 2),
+('MaintenanceTypeDlg', 'ChangeButton', '[Progress2]', 'changes', '1', 3),
+('MaintenanceTypeDlg', 'RemoveButton', 'NewDialog', 'VerifyRemoveDlg', '1', 4),
+('MaintenanceTypeDlg', 'RemoveButton', '[InstallMode]', 'Remove', '1', 1),
+('MaintenanceTypeDlg', 'RemoveButton', '[Progress1]', 'Removing', '1', 2),
+('MaintenanceTypeDlg', 'RemoveButton', '[Progress2]', 'removes', '1', 3),
+('MaintenanceTypeDlg', 'RepairButton', 'NewDialog', 'VerifyRepairDlg', '1', 4),
+('MaintenanceTypeDlg', 'RepairButton', '[InstallMode]', 'Repair', '1', 1),
+('MaintenanceTypeDlg', 'RepairButton', '[Progress1]', 'Repairing', '1', 2),
+('MaintenanceTypeDlg', 'RepairButton', '[Progress2]', 'repairs', '1', 3),
+('MaintenanceWelcomeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('MaintenanceWelcomeDlg', 'Next', 'NewDialog', 'MaintenanceTypeDlg', '1', 2),
+('MaintenanceWelcomeDlg', 'Next', 'SpawnWaitDialog', 'WaitForCostingDlg', 'CostingComplete = 1', 1),
+('OutOfDiskDlg', 'OK', 'EndDialog', 'Return', '1', None),
+('OutOfRbDiskDlg', 'No', 'EndDialog', 'Return', '1', None),
+('OutOfRbDiskDlg', 'Yes', 'EndDialog', 'Return', '1', 2),
+('OutOfRbDiskDlg', 'Yes', 'EnableRollback', 'False', '1', 1),
+('ResumeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('ResumeDlg', 'Install', 'EndDialog', 'Return', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
+('ResumeDlg', 'Install', 'EndDialog', 'Return', 'OutOfDiskSpace <> 1', 2),
+('ResumeDlg', 'Install', 'SpawnDialog', 'OutOfDiskDlg', '(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 6),
+('ResumeDlg', 'Install', 'SpawnDialog', 'OutOfRbDiskDlg', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 3),
+('ResumeDlg', 'Install', 'SpawnWaitDialog', 'WaitForCostingDlg', 'CostingComplete = 1', 1),
+('ResumeDlg', 'Install', 'EnableRollback', 'False', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
+('SetupTypeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('SetupTypeDlg', 'Back', 'NewDialog', 'LicenseAgreementDlg', 'ShowUserRegistrationDlg <> 1', None),
+('SetupTypeDlg', 'Back', 'NewDialog', 'UserRegistrationDlg', 'ShowUserRegistrationDlg = 1', None),
+('SetupTypeDlg', 'CompleteButton', 'NewDialog', 'VerifyReadyDlg', '1', 3),
+('SetupTypeDlg', 'CompleteButton', '[InstallMode]', 'Complete', '1', 1),
+('SetupTypeDlg', 'CompleteButton', 'SetInstallLevel', '1000', '1', 2),
+('SetupTypeDlg', 'CustomButton', 'NewDialog', 'CustomizeDlg', '1', 2),
+('SetupTypeDlg', 'CustomButton', '[InstallMode]', 'Custom', '1', 1),
+('SetupTypeDlg', 'TypicalButton', 'NewDialog', 'VerifyReadyDlg', '1', 3),
+('SetupTypeDlg', 'TypicalButton', '[InstallMode]', 'Typical', '1', 1),
+('SetupTypeDlg', 'TypicalButton', 'SetInstallLevel', '3', '1', 2),
+('UserRegistrationDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('UserRegistrationDlg', 'Back', 'NewDialog', 'LicenseAgreementDlg', '1', None),
+('UserRegistrationDlg', 'Next', 'NewDialog', 'SetupTypeDlg', 'ProductID', 3),
+('UserRegistrationDlg', 'Next', 'ValidateProductID', '0', '0', 1),
+('UserRegistrationDlg', 'Next', 'SpawnWaitDialog', 'WaitForCostingDlg', 'CostingComplete = 1', 2),
+('VerifyReadyDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('VerifyReadyDlg', 'Back', 'NewDialog', 'AdminInstallPointDlg', 'InstallMode = "Server Image"', None),
+('VerifyReadyDlg', 'Back', 'NewDialog', 'CustomizeDlg', 'InstallMode = "Custom" OR InstallMode = "Change"', None),
+('VerifyReadyDlg', 'Back', 'NewDialog', 'MaintenanceTypeDlg', 'InstallMode = "Repair"', None),
+('VerifyReadyDlg', 'Back', 'NewDialog', 'SetupTypeDlg', 'InstallMode = "Typical" OR InstallMode = "Complete"', None),
+('VerifyReadyDlg', 'Install', 'EndDialog', 'Return', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 3),
+('VerifyReadyDlg', 'Install', 'EndDialog', 'Return', 'OutOfDiskSpace <> 1', 1),
+('VerifyReadyDlg', 'Install', 'SpawnDialog', 'OutOfDiskDlg', '(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 5),
+('VerifyReadyDlg', 'Install', 'SpawnDialog', 'OutOfRbDiskDlg', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 2),
+('VerifyReadyDlg', 'Install', 'EnableRollback', 'False', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
+('VerifyRemoveDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('VerifyRemoveDlg', 'Back', 'NewDialog', 'MaintenanceTypeDlg', '1', None),
+('VerifyRemoveDlg', 'Remove', 'Remove', 'All', 'OutOfDiskSpace <> 1', 1),
+('VerifyRemoveDlg', 'Remove', 'EndDialog', 'Return', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 4),
+('VerifyRemoveDlg', 'Remove', 'EndDialog', 'Return', 'OutOfDiskSpace <> 1', 2),
+('VerifyRemoveDlg', 'Remove', 'SpawnDialog', 'OutOfDiskDlg', '(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 6),
+('VerifyRemoveDlg', 'Remove', 'SpawnDialog', 'OutOfRbDiskDlg', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 3),
+('VerifyRemoveDlg', 'Remove', 'EnableRollback', 'False', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
+('VerifyRepairDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('VerifyRepairDlg', 'Back', 'NewDialog', 'MaintenanceTypeDlg', '1', None),
+('VerifyRepairDlg', 'Repair', 'EndDialog', 'Return', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 5),
+('VerifyRepairDlg', 'Repair', 'EndDialog', 'Return', 'OutOfDiskSpace <> 1', 3),
+('VerifyRepairDlg', 'Repair', 'SpawnDialog', 'OutOfDiskDlg', '(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")', 7),
+('VerifyRepairDlg', 'Repair', 'SpawnDialog', 'OutOfRbDiskDlg', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)', 4),
+('VerifyRepairDlg', 'Repair', 'EnableRollback', 'False', 'OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"', 6),
+('VerifyRepairDlg', 'Repair', 'Reinstall', 'All', 'OutOfDiskSpace <> 1', 2),
+('VerifyRepairDlg', 'Repair', 'ReinstallMode', 'ecmus', 'OutOfDiskSpace <> 1', 1),
+('WaitForCostingDlg', 'Return', 'EndDialog', 'Exit', '1', None),
+('WelcomeDlg', 'Cancel', 'SpawnDialog', 'CancelDlg', '1', None),
+('WelcomeDlg', 'Next', 'NewDialog', 'LicenseAgreementDlg', '1', None),
 ]
 
 Dialog = [
-(u'AdminWelcomeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Next', u'Next', u'Cancel'),
-(u'ExitDialog', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Finish', u'Finish', u'Finish'),
-(u'FatalError', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Finish', u'Finish', u'Finish'),
-(u'PrepareDlg', 50, 50, 370, 270, 1, u'[ProductName] [Setup]', u'Cancel', u'Cancel', u'Cancel'),
-(u'ProgressDlg', 50, 50, 370, 270, 1, u'[ProductName] [Setup]', u'Cancel', u'Cancel', u'Cancel'),
-(u'UserExit', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Finish', u'Finish', u'Finish'),
-(u'AdminBrowseDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'PathEdit', u'OK', u'Cancel'),
-(u'AdminInstallPointDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Text', u'Next', u'Cancel'),
-(u'AdminRegistrationDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'OrganizationLabel', u'Next', u'Cancel'),
-(u'BrowseDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'PathEdit', u'OK', u'Cancel'),
-(u'CancelDlg', 50, 10, 260, 85, 3, u'[ProductName] [Setup]', u'No', u'No', u'No'),
-(u'CustomizeDlg', 50, 50, 370, 270, 35, u'[ProductName] [Setup]', u'Tree', u'Next', u'Cancel'),
-(u'DiskCostDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'OK', u'OK', u'OK'),
-(u'ErrorDlg', 50, 10, 270, 105, 65539, u'Installer Information', u'ErrorText', None, None),
-(u'FilesInUse', 50, 50, 370, 270, 19, u'[ProductName] [Setup]', u'Retry', u'Retry', u'Retry'),
-(u'LicenseAgreementDlg', 50, 50, 370, 270, 3, u'[ProductName] License Agreement', u'Buttons', u'Next', u'Cancel'),
-(u'MaintenanceTypeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'ChangeLabel', u'ChangeButton', u'Cancel'),
-(u'MaintenanceWelcomeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Next', u'Next', u'Cancel'),
-(u'OutOfDiskDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'OK', u'OK', u'OK'),
-(u'OutOfRbDiskDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'No', u'No', u'No'),
-(u'ResumeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Install', u'Install', u'Cancel'),
-(u'SetupTypeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'TypicalLabel', u'TypicalButton', u'Cancel'),
-(u'UserRegistrationDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'NameLabel', u'Next', u'Cancel'),
-(u'VerifyReadyDlg', 50, 50, 370, 270, 35, u'[ProductName] [Setup]', u'Install', u'Install', u'Cancel'),
-(u'VerifyRemoveDlg', 50, 50, 370, 270, 35, u'[ProductName] [Setup]', u'Back', u'Back', u'Cancel'),
-(u'VerifyRepairDlg', 50, 50, 370, 270, 35, u'[ProductName] [Setup]', u'Repair', u'Repair', u'Cancel'),
-(u'WaitForCostingDlg', 50, 10, 260, 85, 3, u'[ProductName] [Setup]', u'Return', u'Return', u'Return'),
-(u'WelcomeDlg', 50, 50, 370, 270, 3, u'[ProductName] [Setup]', u'Next', u'Next', u'Cancel'),
+('AdminWelcomeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Next', 'Next', 'Cancel'),
+('ExitDialog', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Finish', 'Finish', 'Finish'),
+('FatalError', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Finish', 'Finish', 'Finish'),
+('PrepareDlg', 50, 50, 370, 270, 1, '[ProductName] [Setup]', 'Cancel', 'Cancel', 'Cancel'),
+('ProgressDlg', 50, 50, 370, 270, 1, '[ProductName] [Setup]', 'Cancel', 'Cancel', 'Cancel'),
+('UserExit', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Finish', 'Finish', 'Finish'),
+('AdminBrowseDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'PathEdit', 'OK', 'Cancel'),
+('AdminInstallPointDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Text', 'Next', 'Cancel'),
+('AdminRegistrationDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'OrganizationLabel', 'Next', 'Cancel'),
+('BrowseDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'PathEdit', 'OK', 'Cancel'),
+('CancelDlg', 50, 10, 260, 85, 3, '[ProductName] [Setup]', 'No', 'No', 'No'),
+('CustomizeDlg', 50, 50, 370, 270, 35, '[ProductName] [Setup]', 'Tree', 'Next', 'Cancel'),
+('DiskCostDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'OK', 'OK', 'OK'),
+('ErrorDlg', 50, 10, 270, 105, 65539, 'Installer Information', 'ErrorText', None, None),
+('FilesInUse', 50, 50, 370, 270, 19, '[ProductName] [Setup]', 'Retry', 'Retry', 'Retry'),
+('LicenseAgreementDlg', 50, 50, 370, 270, 3, '[ProductName] License Agreement', 'Buttons', 'Next', 'Cancel'),
+('MaintenanceTypeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'ChangeLabel', 'ChangeButton', 'Cancel'),
+('MaintenanceWelcomeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Next', 'Next', 'Cancel'),
+('OutOfDiskDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'OK', 'OK', 'OK'),
+('OutOfRbDiskDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'No', 'No', 'No'),
+('ResumeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Install', 'Install', 'Cancel'),
+('SetupTypeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'TypicalLabel', 'TypicalButton', 'Cancel'),
+('UserRegistrationDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'NameLabel', 'Next', 'Cancel'),
+('VerifyReadyDlg', 50, 50, 370, 270, 35, '[ProductName] [Setup]', 'Install', 'Install', 'Cancel'),
+('VerifyRemoveDlg', 50, 50, 370, 270, 35, '[ProductName] [Setup]', 'Back', 'Back', 'Cancel'),
+('VerifyRepairDlg', 50, 50, 370, 270, 35, '[ProductName] [Setup]', 'Repair', 'Repair', 'Cancel'),
+('WaitForCostingDlg', 50, 10, 260, 85, 3, '[ProductName] [Setup]', 'Return', 'Return', 'Return'),
+('WelcomeDlg', 50, 50, 370, 270, 3, '[ProductName] [Setup]', 'Next', 'Next', 'Cancel'),
 ]
 
 EventMapping = [
-(u'PrepareDlg', u'ActionData', u'ActionData', u'Text'),
-(u'PrepareDlg', u'ActionText', u'ActionText', u'Text'),
-(u'ProgressDlg', u'ActionText', u'ActionText', u'Text'),
-(u'ProgressDlg', u'ProgressBar', u'SetProgress', u'Progress'),
-(u'AdminBrowseDlg', u'DirectoryCombo', u'IgnoreChange', u'IgnoreChange'),
-(u'BrowseDlg', u'DirectoryCombo', u'IgnoreChange', u'IgnoreChange'),
-(u'CustomizeDlg', u'Next', u'SelectionNoItems', u'Enabled'),
-(u'CustomizeDlg', u'Reset', u'SelectionNoItems', u'Enabled'),
-(u'CustomizeDlg', u'DiskCost', u'SelectionNoItems', u'Enabled'),
-(u'CustomizeDlg', u'ItemDescription', u'SelectionDescription', u'Text'),
-(u'CustomizeDlg', u'ItemSize', u'SelectionSize', u'Text'),
-(u'CustomizeDlg', u'Location', u'SelectionPath', u'Text'),
-(u'CustomizeDlg', u'Location', u'SelectionPathOn', u'Visible'),
-(u'CustomizeDlg', u'LocationLabel', u'SelectionPathOn', u'Visible'),
+('PrepareDlg', 'ActionData', 'ActionData', 'Text'),
+('PrepareDlg', 'ActionText', 'ActionText', 'Text'),
+('ProgressDlg', 'ActionText', 'ActionText', 'Text'),
+('ProgressDlg', 'ProgressBar', 'SetProgress', 'Progress'),
+('AdminBrowseDlg', 'DirectoryCombo', 'IgnoreChange', 'IgnoreChange'),
+('BrowseDlg', 'DirectoryCombo', 'IgnoreChange', 'IgnoreChange'),
+('CustomizeDlg', 'Next', 'SelectionNoItems', 'Enabled'),
+('CustomizeDlg', 'Reset', 'SelectionNoItems', 'Enabled'),
+('CustomizeDlg', 'DiskCost', 'SelectionNoItems', 'Enabled'),
+('CustomizeDlg', 'ItemDescription', 'SelectionDescription', 'Text'),
+('CustomizeDlg', 'ItemSize', 'SelectionSize', 'Text'),
+('CustomizeDlg', 'Location', 'SelectionPath', 'Text'),
+('CustomizeDlg', 'Location', 'SelectionPathOn', 'Visible'),
+('CustomizeDlg', 'LocationLabel', 'SelectionPathOn', 'Visible'),
 ]
 
 InstallExecuteSequence = [
-(u'InstallValidate', None, 1400),
-(u'InstallInitialize', None, 1500),
-(u'InstallFinalize', None, 6600),
-(u'InstallFiles', None, 4000),
-(u'FileCost', None, 900),
-(u'CostInitialize', None, 800),
-(u'CostFinalize', None, 1000),
-(u'CreateShortcuts', None, 4500),
-(u'PublishComponents', None, 6200),
-(u'PublishFeatures', None, 6300),
-(u'PublishProduct', None, 6400),
-(u'RegisterClassInfo', None, 4600),
-(u'RegisterExtensionInfo', None, 4700),
-(u'RegisterMIMEInfo', None, 4900),
-(u'RegisterProgIdInfo', None, 4800),
-(u'ValidateProductID', None, 700),
-(u'AllocateRegistrySpace', u'NOT Installed', 1550),
-(u'AppSearch', None, 400),
-(u'BindImage', None, 4300),
-(u'CCPSearch', u'NOT Installed', 500),
-(u'CreateFolders', None, 3700),
-(u'DeleteServices', u'VersionNT', 2000),
-(u'DuplicateFiles', None, 4210),
-(u'FindRelatedProducts', None, 200),
-(u'InstallODBC', None, 5400),
-(u'InstallServices', u'VersionNT', 5800),
-(u'LaunchConditions', None, 100),
-(u'MigrateFeatureStates', None, 1200),
-(u'MoveFiles', None, 3800),
-(u'PatchFiles', None, 4090),
-(u'ProcessComponents', None, 1600),
-(u'RegisterComPlus', None, 5700),
-(u'RegisterFonts', None, 5300),
-(u'RegisterProduct', None, 6100),
-(u'RegisterTypeLibraries', None, 5500),
-(u'RegisterUser', None, 6000),
-(u'RemoveDuplicateFiles', None, 3400),
-(u'RemoveEnvironmentStrings', None, 3300),
-(u'RemoveExistingProducts', None, 6700),
-(u'RemoveFiles', None, 3500),
-(u'RemoveFolders', None, 3600),
-(u'RemoveIniValues', None, 3100),
-(u'RemoveODBC', None, 2400),
-(u'RemoveRegistryValues', None, 2600),
-(u'RemoveShortcuts', None, 3200),
-(u'RMCCPSearch', u'NOT Installed', 600),
-(u'SelfRegModules', None, 5600),
-(u'SelfUnregModules', None, 2200),
-(u'SetODBCFolders', None, 1100),
-(u'StartServices', u'VersionNT', 5900),
-(u'StopServices', u'VersionNT', 1900),
-(u'UnpublishComponents', None, 1700),
-(u'UnpublishFeatures', None, 1800),
-(u'UnregisterClassInfo', None, 2700),
-(u'UnregisterComPlus', None, 2100),
-(u'UnregisterExtensionInfo', None, 2800),
-(u'UnregisterFonts', None, 2500),
-(u'UnregisterMIMEInfo', None, 3000),
-(u'UnregisterProgIdInfo', None, 2900),
-(u'UnregisterTypeLibraries', None, 2300),
-(u'WriteEnvironmentStrings', None, 5200),
-(u'WriteIniValues', None, 5100),
-(u'WriteRegistryValues', None, 5000),
+('InstallValidate', None, 1400),
+('InstallInitialize', None, 1500),
+('InstallFinalize', None, 6600),
+('InstallFiles', None, 4000),
+('FileCost', None, 900),
+('CostInitialize', None, 800),
+('CostFinalize', None, 1000),
+('CreateShortcuts', None, 4500),
+('PublishComponents', None, 6200),
+('PublishFeatures', None, 6300),
+('PublishProduct', None, 6400),
+('RegisterClassInfo', None, 4600),
+('RegisterExtensionInfo', None, 4700),
+('RegisterMIMEInfo', None, 4900),
+('RegisterProgIdInfo', None, 4800),
+('ValidateProductID', None, 700),
+('AllocateRegistrySpace', 'NOT Installed', 1550),
+('AppSearch', None, 400),
+('BindImage', None, 4300),
+('CCPSearch', 'NOT Installed', 500),
+('CreateFolders', None, 3700),
+('DeleteServices', 'VersionNT', 2000),
+('DuplicateFiles', None, 4210),
+('FindRelatedProducts', None, 200),
+('InstallODBC', None, 5400),
+('InstallServices', 'VersionNT', 5800),
+('LaunchConditions', None, 100),
+('MigrateFeatureStates', None, 1200),
+('MoveFiles', None, 3800),
+('PatchFiles', None, 4090),
+('ProcessComponents', None, 1600),
+('RegisterComPlus', None, 5700),
+('RegisterFonts', None, 5300),
+('RegisterProduct', None, 6100),
+('RegisterTypeLibraries', None, 5500),
+('RegisterUser', None, 6000),
+('RemoveDuplicateFiles', None, 3400),
+('RemoveEnvironmentStrings', None, 3300),
+('RemoveExistingProducts', None, 6700),
+('RemoveFiles', None, 3500),
+('RemoveFolders', None, 3600),
+('RemoveIniValues', None, 3100),
+('RemoveODBC', None, 2400),
+('RemoveRegistryValues', None, 2600),
+('RemoveShortcuts', None, 3200),
+('RMCCPSearch', 'NOT Installed', 600),
+('SelfRegModules', None, 5600),
+('SelfUnregModules', None, 2200),
+('SetODBCFolders', None, 1100),
+('StartServices', 'VersionNT', 5900),
+('StopServices', 'VersionNT', 1900),
+('UnpublishComponents', None, 1700),
+('UnpublishFeatures', None, 1800),
+('UnregisterClassInfo', None, 2700),
+('UnregisterComPlus', None, 2100),
+('UnregisterExtensionInfo', None, 2800),
+('UnregisterFonts', None, 2500),
+('UnregisterMIMEInfo', None, 3000),
+('UnregisterProgIdInfo', None, 2900),
+('UnregisterTypeLibraries', None, 2300),
+('WriteEnvironmentStrings', None, 5200),
+('WriteIniValues', None, 5100),
+('WriteRegistryValues', None, 5000),
 ]
 
 InstallUISequence = [
@@ -728,12 +728,12 @@
 #(u'ExecuteAction', None, 1300),
 #(u'ExitDialog', None, -1),
 #(u'FatalError', None, -3),
-(u'PrepareDlg', None, 140),
-(u'ProgressDlg', None, 1280),
+('PrepareDlg', None, 140),
+('ProgressDlg', None, 1280),
 #(u'UserExit', None, -2),
-(u'MaintenanceWelcomeDlg', u'Installed AND NOT RESUME AND NOT Preselected', 1250),
-(u'ResumeDlg', u'Installed AND (RESUME OR Preselected)', 1240),
-(u'WelcomeDlg', u'NOT Installed', 1230),
+('MaintenanceWelcomeDlg', 'Installed AND NOT RESUME AND NOT Preselected', 1250),
+('ResumeDlg', 'Installed AND (RESUME OR Preselected)', 1240),
+('WelcomeDlg', 'NOT Installed', 1230),
 #(u'AppSearch', None, 400),
 #(u'CCPSearch', u'NOT Installed', 500),
 #(u'FindRelatedProducts', None, 200),
@@ -746,655 +746,655 @@
 ]
 
 RadioButton = [
-(u'IAgree', 1, u'Yes', 5, 0, 250, 15, u'{\\DlgFont8}I &accept the terms in the License Agreement', None),
-(u'IAgree', 2, u'No', 5, 20, 250, 15, u'{\\DlgFont8}I &do not accept the terms in the License Agreement', None),
+('IAgree', 1, 'Yes', 5, 0, 250, 15, '{\\DlgFont8}I &accept the terms in the License Agreement', None),
+('IAgree', 2, 'No', 5, 20, 250, 15, '{\\DlgFont8}I &do not accept the terms in the License Agreement', None),
 ]
 
 TextStyle = [
-(u'DlgFont8', u'Tahoma', 8, None, 0),
-(u'DlgFontBold8', u'Tahoma', 8, None, 1),
-(u'VerdanaBold13', u'Verdana', 13, None, 1),
+('DlgFont8', 'Tahoma', 8, None, 0),
+('DlgFontBold8', 'Tahoma', 8, None, 1),
+('VerdanaBold13', 'Verdana', 13, None, 1),
 ]
 
 UIText = [
-(u'AbsentPath', None),
-(u'bytes', u'bytes'),
-(u'GB', u'GB'),
-(u'KB', u'KB'),
-(u'MB', u'MB'),
-(u'MenuAbsent', u'Entire feature will be unavailable'),
-(u'MenuAdvertise', u'Feature will be installed when required'),
-(u'MenuAllCD', u'Entire feature will be installed to run from CD'),
-(u'MenuAllLocal', u'Entire feature will be installed on local hard drive'),
-(u'MenuAllNetwork', u'Entire feature will be installed to run from network'),
-(u'MenuCD', u'Will be installed to run from CD'),
-(u'MenuLocal', u'Will be installed on local hard drive'),
-(u'MenuNetwork', u'Will be installed to run from network'),
-(u'ScriptInProgress', u'Gathering required information...'),
-(u'SelAbsentAbsent', u'This feature will remain uninstalled'),
-(u'SelAbsentAdvertise', u'This feature will be set to be installed when required'),
-(u'SelAbsentCD', u'This feature will be installed to run from CD'),
-(u'SelAbsentLocal', u'This feature will be installed on the local hard drive'),
-(u'SelAbsentNetwork', u'This feature will be installed to run from the network'),
-(u'SelAdvertiseAbsent', u'This feature will become unavailable'),
-(u'SelAdvertiseAdvertise', u'Will be installed when required'),
-(u'SelAdvertiseCD', u'This feature will be available to run from CD'),
-(u'SelAdvertiseLocal', u'This feature will be installed on your local hard drive'),
-(u'SelAdvertiseNetwork', u'This feature will be available to run from the network'),
-(u'SelCDAbsent', u"This feature will be uninstalled completely, you won't be able to run it from CD"),
-(u'SelCDAdvertise', u'This feature will change from run from CD state to set to be installed when required'),
-(u'SelCDCD', u'This feature will remain to be run from CD'),
-(u'SelCDLocal', u'This feature will change from run from CD state to be installed on the local hard drive'),
-(u'SelChildCostNeg', u'This feature frees up [1] on your hard drive.'),
-(u'SelChildCostPos', u'This feature requires [1] on your hard drive.'),
-(u'SelCostPending', u'Compiling cost for this feature...'),
-(u'SelLocalAbsent', u'This feature will be completely removed'),
-(u'SelLocalAdvertise', u'This feature will be removed from your local hard drive, but will be set to be installed when required'),
-(u'SelLocalCD', u'This feature will be removed from your local hard drive, but will be still available to run from CD'),
-(u'SelLocalLocal', u'This feature will remain on you local hard drive'),
-(u'SelLocalNetwork', u'This feature will be removed from your local hard drive, but will be still available to run from the network'),
-(u'SelNetworkAbsent', u"This feature will be uninstalled completely, you won't be able to run it from the network"),
-(u'SelNetworkAdvertise', u'This feature will change from run from network state to set to be installed when required'),
-(u'SelNetworkLocal', u'This feature will change from run from network state to be installed on the local hard drive'),
-(u'SelNetworkNetwork', u'This feature will remain to be run from the network'),
-(u'SelParentCostNegNeg', u'This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.'),
-(u'SelParentCostNegPos', u'This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.'),
-(u'SelParentCostPosNeg', u'This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.'),
-(u'SelParentCostPosPos', u'This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.'),
-(u'TimeRemaining', u'Time remaining: {[1] minutes }{[2] seconds}'),
-(u'VolumeCostAvailable', u'Available'),
-(u'VolumeCostDifference', u'Difference'),
-(u'VolumeCostRequired', u'Required'),
-(u'VolumeCostSize', u'Disk Size'),
-(u'VolumeCostVolume', u'Volume'),
+('AbsentPath', None),
+('bytes', 'bytes'),
+('GB', 'GB'),
+('KB', 'KB'),
+('MB', 'MB'),
+('MenuAbsent', 'Entire feature will be unavailable'),
+('MenuAdvertise', 'Feature will be installed when required'),
+('MenuAllCD', 'Entire feature will be installed to run from CD'),
+('MenuAllLocal', 'Entire feature will be installed on local hard drive'),
+('MenuAllNetwork', 'Entire feature will be installed to run from network'),
+('MenuCD', 'Will be installed to run from CD'),
+('MenuLocal', 'Will be installed on local hard drive'),
+('MenuNetwork', 'Will be installed to run from network'),
+('ScriptInProgress', 'Gathering required information...'),
+('SelAbsentAbsent', 'This feature will remain uninstalled'),
+('SelAbsentAdvertise', 'This feature will be set to be installed when required'),
+('SelAbsentCD', 'This feature will be installed to run from CD'),
+('SelAbsentLocal', 'This feature will be installed on the local hard drive'),
+('SelAbsentNetwork', 'This feature will be installed to run from the network'),
+('SelAdvertiseAbsent', 'This feature will become unavailable'),
+('SelAdvertiseAdvertise', 'Will be installed when required'),
+('SelAdvertiseCD', 'This feature will be available to run from CD'),
+('SelAdvertiseLocal', 'This feature will be installed on your local hard drive'),
+('SelAdvertiseNetwork', 'This feature will be available to run from the network'),
+('SelCDAbsent', "This feature will be uninstalled completely, you won't be able to run it from CD"),
+('SelCDAdvertise', 'This feature will change from run from CD state to set to be installed when required'),
+('SelCDCD', 'This feature will remain to be run from CD'),
+('SelCDLocal', 'This feature will change from run from CD state to be installed on the local hard drive'),
+('SelChildCostNeg', 'This feature frees up [1] on your hard drive.'),
+('SelChildCostPos', 'This feature requires [1] on your hard drive.'),
+('SelCostPending', 'Compiling cost for this feature...'),
+('SelLocalAbsent', 'This feature will be completely removed'),
+('SelLocalAdvertise', 'This feature will be removed from your local hard drive, but will be set to be installed when required'),
+('SelLocalCD', 'This feature will be removed from your local hard drive, but will be still available to run from CD'),
+('SelLocalLocal', 'This feature will remain on you local hard drive'),
+('SelLocalNetwork', 'This feature will be removed from your local hard drive, but will be still available to run from the network'),
+('SelNetworkAbsent', "This feature will be uninstalled completely, you won't be able to run it from the network"),
+('SelNetworkAdvertise', 'This feature will change from run from network state to set to be installed when required'),
+('SelNetworkLocal', 'This feature will change from run from network state to be installed on the local hard drive'),
+('SelNetworkNetwork', 'This feature will remain to be run from the network'),
+('SelParentCostNegNeg', 'This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.'),
+('SelParentCostNegPos', 'This feature frees up [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.'),
+('SelParentCostPosNeg', 'This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures free up [4] on your hard drive.'),
+('SelParentCostPosPos', 'This feature requires [1] on your hard drive. It has [2] of [3] subfeatures selected. The subfeatures require [4] on your hard drive.'),
+('TimeRemaining', 'Time remaining: {[1] minutes }{[2] seconds}'),
+('VolumeCostAvailable', 'Available'),
+('VolumeCostDifference', 'Difference'),
+('VolumeCostRequired', 'Required'),
+('VolumeCostSize', 'Disk Size'),
+('VolumeCostVolume', 'Volume'),
 ]
 
 _Validation = [
-(u'AdminExecuteSequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'AdminExecuteSequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'AdminExecuteSequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'AdminUISequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'AdminUISequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'AdminUISequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'Condition', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Expression evaluated to determine if Level in the Feature table is to change.'),
-(u'Condition', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Reference to a Feature entry in Feature table.'),
-(u'Condition', u'Level', u'N', 0, 32767, None, None, None, None, u'New selection Level to set in Feature table if Condition evaluates to TRUE.'),
-(u'AdvtExecuteSequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'AdvtExecuteSequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'AdvtExecuteSequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'BBControl', u'Type', u'N', None, None, None, None, u'Identifier', None, u'The type of the control.'),
-(u'BBControl', u'BBControl', u'N', None, None, None, None, u'Identifier', None, u'Name of the control. This name must be unique within a billboard, but can repeat on different billboard.'),
-(u'BBControl', u'Billboard_', u'N', None, None, u'Billboard', 1, u'Identifier', None, u'External key to the Billboard table, name of the billboard.'),
-(u'BBControl', u'X', u'N', 0, 32767, None, None, None, None, u'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.'),
-(u'BBControl', u'Y', u'N', 0, 32767, None, None, None, None, u'Vertical coordinate of the upper left corner of the bounding rectangle of the control.'),
-(u'BBControl', u'Width', u'N', 0, 32767, None, None, None, None, u'Width of the bounding rectangle of the control.'),
-(u'BBControl', u'Height', u'N', 0, 32767, None, None, None, None, u'Height of the bounding rectangle of the control.'),
-(u'BBControl', u'Attributes', u'Y', 0, 2147483647, None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this control.'),
-(u'BBControl', u'Text', u'Y', None, None, None, None, u'Text', None, u'A string used to set the initial text contained within a control (if appropriate).'),
-(u'Billboard', u'Action', u'Y', None, None, None, None, u'Identifier', None, u'The name of an action. The billboard is displayed during the progress messages received from this action.'),
-(u'Billboard', u'Billboard', u'N', None, None, None, None, u'Identifier', None, u'Name of the billboard.'),
-(u'Billboard', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'An external key to the Feature Table. The billboard is shown only if this feature is being installed.'),
-(u'Billboard', u'Ordering', u'Y', 0, 32767, None, None, None, None, u'A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.'),
-(u'Binary', u'Name', u'N', None, None, None, None, u'Identifier', None, u'Unique key identifying the binary data.'),
-(u'Binary', u'Data', u'N', None, None, None, None, u'Binary', None, u'The unformatted binary data.'),
-(u'CheckBox', u'Property', u'N', None, None, None, None, u'Identifier', None, u'A named property to be tied to the item.'),
-(u'CheckBox', u'Value', u'Y', None, None, None, None, u'Formatted', None, u'The value string associated with the item.'),
-(u'Property', u'Property', u'N', None, None, None, None, u'Identifier', None, u'Name of property, uppercase if settable by launcher or loader.'),
-(u'Property', u'Value', u'N', None, None, None, None, u'Text', None, u'String value for property.  Never null or empty.'),
-(u'ComboBox', u'Text', u'Y', None, None, None, None, u'Formatted', None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
-(u'ComboBox', u'Property', u'N', None, None, None, None, u'Identifier', None, u'A named property to be tied to this item. All the items tied to the same property become part of the same combobox.'),
-(u'ComboBox', u'Value', u'N', None, None, None, None, u'Formatted', None, u'The value string associated with this item. Selecting the line will set the associated property to this value.'),
-(u'ComboBox', u'Order', u'N', 1, 32767, None, None, None, None, u'A positive integer used to determine the ordering of the items within one list.\tThe integers do not have to be consecutive.'),
-(u'Control', u'Type', u'N', None, None, None, None, u'Identifier', None, u'The type of the control.'),
-(u'Control', u'X', u'N', 0, 32767, None, None, None, None, u'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.'),
-(u'Control', u'Y', u'N', 0, 32767, None, None, None, None, u'Vertical coordinate of the upper left corner of the bounding rectangle of the control.'),
-(u'Control', u'Width', u'N', 0, 32767, None, None, None, None, u'Width of the bounding rectangle of the control.'),
-(u'Control', u'Height', u'N', 0, 32767, None, None, None, None, u'Height of the bounding rectangle of the control.'),
-(u'Control', u'Attributes', u'Y', 0, 2147483647, None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this control.'),
-(u'Control', u'Text', u'Y', None, None, None, None, u'Formatted', None, u'A string used to set the initial text contained within a control (if appropriate).'),
-(u'Control', u'Property', u'Y', None, None, None, None, u'Identifier', None, u'The name of a defined property to be linked to this control. '),
-(u'Control', u'Control', u'N', None, None, None, None, u'Identifier', None, u'Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. '),
-(u'Control', u'Dialog_', u'N', None, None, u'Dialog', 1, u'Identifier', None, u'External key to the Dialog table, name of the dialog.'),
-(u'Control', u'Control_Next', u'Y', None, None, u'Control', 2, u'Identifier', None, u'The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!'),
-(u'Control', u'Help', u'Y', None, None, None, None, u'Text', None, u'The help strings used with the button. The text is optional. '),
-(u'Icon', u'Name', u'N', None, None, None, None, u'Identifier', None, u'Primary key. Name of the icon file.'),
-(u'Icon', u'Data', u'N', None, None, None, None, u'Binary', None, u'Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.'),
-(u'ListBox', u'Text', u'Y', None, None, None, None, u'Text', None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
-(u'ListBox', u'Property', u'N', None, None, None, None, u'Identifier', None, u'A named property to be tied to this item. All the items tied to the same property become part of the same listbox.'),
-(u'ListBox', u'Value', u'N', None, None, None, None, u'Formatted', None, u'The value string associated with this item. Selecting the line will set the associated property to this value.'),
-(u'ListBox', u'Order', u'N', 1, 32767, None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
-(u'ActionText', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to be described.'),
-(u'ActionText', u'Description', u'Y', None, None, None, None, u'Text', None, u'Localized description displayed in progress dialog and log when action is executing.'),
-(u'ActionText', u'Template', u'Y', None, None, None, None, u'Template', None, u'Optional localized format template used to format action data records for display during action execution.'),
-(u'ControlCondition', u'Action', u'N', None, None, None, None, None, u'Default;Disable;Enable;Hide;Show', u'The desired action to be taken on the specified control.'),
-(u'ControlCondition', u'Condition', u'N', None, None, None, None, u'Condition', None, u'A standard conditional statement that specifies under which conditions the action should be triggered.'),
-(u'ControlCondition', u'Dialog_', u'N', None, None, u'Dialog', 1, u'Identifier', None, u'A foreign key to the Dialog table, name of the dialog.'),
-(u'ControlCondition', u'Control_', u'N', None, None, u'Control', 2, u'Identifier', None, u'A foreign key to the Control table, name of the control.'),
-(u'ControlEvent', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'A standard conditional statement that specifies under which conditions an event should be triggered.'),
-(u'ControlEvent', u'Ordering', u'Y', 0, 2147483647, None, None, None, None, u'An integer used to order several events tied to the same control. Can be left blank.'),
-(u'ControlEvent', u'Dialog_', u'N', None, None, u'Dialog', 1, u'Identifier', None, u'A foreign key to the Dialog table, name of the dialog.'),
-(u'ControlEvent', u'Control_', u'N', None, None, u'Control', 2, u'Identifier', None, u'A foreign key to the Control table, name of the control'),
-(u'ControlEvent', u'Event', u'N', None, None, None, None, u'Formatted', None, u'An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.'),
-(u'ControlEvent', u'Argument', u'N', None, None, None, None, u'Formatted', None, u'A value to be used as a modifier when triggering a particular event.'),
-(u'Dialog', u'Width', u'N', 0, 32767, None, None, None, None, u'Width of the bounding rectangle of the dialog.'),
-(u'Dialog', u'Height', u'N', 0, 32767, None, None, None, None, u'Height of the bounding rectangle of the dialog.'),
-(u'Dialog', u'Attributes', u'Y', 0, 2147483647, None, None, None, None, u'A 32-bit word that specifies the attribute flags to be applied to this dialog.'),
-(u'Dialog', u'Title', u'Y', None, None, None, None, u'Formatted', None, u"A text string specifying the title to be displayed in the title bar of the dialog's window."),
-(u'Dialog', u'Dialog', u'N', None, None, None, None, u'Identifier', None, u'Name of the dialog.'),
-(u'Dialog', u'HCentering', u'N', 0, 100, None, None, None, None, u'Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.'),
-(u'Dialog', u'VCentering', u'N', 0, 100, None, None, None, None, u'Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.'),
-(u'Dialog', u'Control_First', u'N', None, None, u'Control', 2, u'Identifier', None, u'Defines the control that has the focus when the dialog is created.'),
-(u'Dialog', u'Control_Default', u'Y', None, None, u'Control', 2, u'Identifier', None, u'Defines the default control. Hitting return is equivalent to pushing this button.'),
-(u'Dialog', u'Control_Cancel', u'Y', None, None, u'Control', 2, u'Identifier', None, u'Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.'),
-(u'EventMapping', u'Dialog_', u'N', None, None, u'Dialog', 1, u'Identifier', None, u'A foreign key to the Dialog table, name of the Dialog.'),
-(u'EventMapping', u'Control_', u'N', None, None, u'Control', 2, u'Identifier', None, u'A foreign key to the Control table, name of the control.'),
-(u'EventMapping', u'Event', u'N', None, None, None, None, u'Identifier', None, u'An identifier that specifies the type of the event that the control subscribes to.'),
-(u'EventMapping', u'Attribute', u'N', None, None, None, None, u'Identifier', None, u'The name of the control attribute, that is set when this event is received.'),
-(u'InstallExecuteSequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'InstallExecuteSequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'InstallExecuteSequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'AppSearch', u'Property', u'N', None, None, None, None, u'Identifier', None, u'The property associated with a Signature'),
-(u'AppSearch', u'Signature_', u'N', None, None, u'Signature;RegLocator;IniLocator;DrLocator;CompLocator', 1, u'Identifier', None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.'),
-(u'BindImage', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'The index into the File table. This must be an executable file.'),
-(u'BindImage', u'Path', u'Y', None, None, None, None, u'Paths', None, u'A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .'),
-(u'CCPSearch', u'Signature_', u'N', None, None, u'Signature;RegLocator;IniLocator;DrLocator;CompLocator', 1, u'Identifier', None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.'),
-(u'InstallUISequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'InstallUISequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'InstallUISequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'ListView', u'Text', u'Y', None, None, None, None, u'Text', None, u'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
-(u'ListView', u'Property', u'N', None, None, None, None, u'Identifier', None, u'A named property to be tied to this item. All the items tied to the same property become part of the same listview.'),
-(u'ListView', u'Value', u'N', None, None, None, None, u'Identifier', None, u'The value string associated with this item. Selecting the line will set the associated property to this value.'),
-(u'ListView', u'Order', u'N', 1, 32767, None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
-(u'ListView', u'Binary_', u'Y', None, None, u'Binary', 1, u'Identifier', None, u'The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.'),
-(u'RadioButton', u'X', u'N', 0, 32767, None, None, None, None, u'The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.'),
-(u'RadioButton', u'Y', u'N', 0, 32767, None, None, None, None, u'The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.'),
-(u'RadioButton', u'Width', u'N', 0, 32767, None, None, None, None, u'The width of the button.'),
-(u'RadioButton', u'Height', u'N', 0, 32767, None, None, None, None, u'The height of the button.'),
-(u'RadioButton', u'Text', u'Y', None, None, None, None, u'Text', None, u'The visible title to be assigned to the radio button.'),
-(u'RadioButton', u'Property', u'N', None, None, None, None, u'Identifier', None, u'A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.'),
-(u'RadioButton', u'Value', u'N', None, None, None, None, u'Formatted', None, u'The value string associated with this button. Selecting the button will set the associated property to this value.'),
-(u'RadioButton', u'Order', u'N', 1, 32767, None, None, None, None, u'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
-(u'RadioButton', u'Help', u'Y', None, None, None, None, u'Text', None, u'The help strings used with the button. The text is optional.'),
-(u'TextStyle', u'TextStyle', u'N', None, None, None, None, u'Identifier', None, u'Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.'),
-(u'TextStyle', u'FaceName', u'N', None, None, None, None, u'Text', None, u'A string indicating the name of the font used. Required. The string must be at most 31 characters long.'),
-(u'TextStyle', u'Size', u'N', 0, 32767, None, None, None, None, u'The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.'),
-(u'TextStyle', u'Color', u'Y', 0, 16777215, None, None, None, None, u'A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).'),
-(u'TextStyle', u'StyleBits', u'Y', 0, 15, None, None, None, None, u'A combination of style bits.'),
-(u'UIText', u'Text', u'Y', None, None, None, None, u'Text', None, u'The localized version of the string.'),
-(u'UIText', u'Key', u'N', None, None, None, None, u'Identifier', None, u'A unique key that identifies the particular string.'),
-(u'_Validation', u'Table', u'N', None, None, None, None, u'Identifier', None, u'Name of table'),
-(u'_Validation', u'Description', u'Y', None, None, None, None, u'Text', None, u'Description of column'),
-(u'_Validation', u'Column', u'N', None, None, None, None, u'Identifier', None, u'Name of column'),
-(u'_Validation', u'Nullable', u'N', None, None, None, None, None, u'Y;N;@', u'Whether the column is nullable'),
-(u'_Validation', u'MinValue', u'Y', -2147483647, 2147483647, None, None, None, None, u'Minimum value allowed'),
-(u'_Validation', u'MaxValue', u'Y', -2147483647, 2147483647, None, None, None, None, u'Maximum value allowed'),
-(u'_Validation', u'KeyTable', u'Y', None, None, None, None, u'Identifier', None, u'For foreign key, Name of table to which data must link'),
-(u'_Validation', u'KeyColumn', u'Y', 1, 32, None, None, None, None, u'Column to which foreign key connects'),
-(u'_Validation', u'Category', u'Y', None, None, None, None, None, u'Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URL', u'String category'),
-(u'_Validation', u'Set', u'Y', None, None, None, None, u'Text', None, u'Set of values that are permitted'),
-(u'AdvtUISequence', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Name of action to invoke, either in the engine or the handler DLL.'),
-(u'AdvtUISequence', u'Sequence', u'Y', -4, 32767, None, None, None, None, u'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
-(u'AdvtUISequence', u'Condition', u'Y', None, None, None, None, u'Condition', None, u'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
-(u'AppId', u'AppId', u'N', None, None, None, None, u'Guid', None, None),
-(u'AppId', u'ActivateAtStorage', u'Y', 0, 1, None, None, None, None, None),
-(u'AppId', u'DllSurrogate', u'Y', None, None, None, None, u'Text', None, None),
-(u'AppId', u'LocalService', u'Y', None, None, None, None, u'Text', None, None),
-(u'AppId', u'RemoteServerName', u'Y', None, None, None, None, u'Formatted', None, None),
-(u'AppId', u'RunAsInteractiveUser', u'Y', 0, 1, None, None, None, None, None),
-(u'AppId', u'ServiceParameters', u'Y', None, None, None, None, u'Text', None, None),
-(u'Feature', u'Attributes', u'N', None, None, None, None, None, u'0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54', u'Feature attributes'),
-(u'Feature', u'Description', u'Y', None, None, None, None, u'Text', None, u'Longer descriptive text describing a visible feature item.'),
-(u'Feature', u'Title', u'Y', None, None, None, None, u'Text', None, u'Short text identifying a visible feature item.'),
-(u'Feature', u'Feature', u'N', None, None, None, None, u'Identifier', None, u'Primary key used to identify a particular feature record.'),
-(u'Feature', u'Directory_', u'Y', None, None, u'Directory', 1, u'UpperCase', None, u'The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.'),
-(u'Feature', u'Level', u'N', 0, 32767, None, None, None, None, u'The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.'),
-(u'Feature', u'Display', u'Y', 0, 32767, None, None, None, None, u'Numeric sort order, used to force a specific display ordering.'),
-(u'Feature', u'Feature_Parent', u'Y', None, None, u'Feature', 1, u'Identifier', None, u'Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.'),
-(u'File', u'Sequence', u'N', 1, 32767, None, None, None, None, u'Sequence with respect to the media images; order must track cabinet order.'),
-(u'File', u'Attributes', u'Y', 0, 32767, None, None, None, None, u'Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)'),
-(u'File', u'File', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.'),
-(u'File', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key referencing Component that controls the file.'),
-(u'File', u'FileName', u'N', None, None, None, None, u'Filename', None, u'File name used for installation, may be localized.  This may contain a "short name|long name" pair.'),
-(u'File', u'FileSize', u'N', 0, 2147483647, None, None, None, None, u'Size of file in bytes (long integer).'),
-(u'File', u'Language', u'Y', None, None, None, None, u'Language', None, u'List of decimal language Ids, comma-separated if more than one.'),
-(u'File', u'Version', u'Y', None, None, u'File', 1, u'Version', None, u'Version string for versioned files;  Blank for unversioned files.'),
-(u'Class', u'Attributes', u'Y', None, 32767, None, None, None, None, u'Class registration attributes.'),
-(u'Class', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.'),
-(u'Class', u'Description', u'Y', None, None, None, None, u'Text', None, u'Localized description for the Class.'),
-(u'Class', u'Argument', u'Y', None, None, None, None, u'Formatted', None, u'optional argument for LocalServers.'),
-(u'Class', u'AppId_', u'Y', None, None, u'AppId', 1, u'Guid', None, u'Optional AppID containing DCOM information for associated application (string GUID).'),
-(u'Class', u'CLSID', u'N', None, None, None, None, u'Guid', None, u'The CLSID of an OLE factory.'),
-(u'Class', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
-(u'Class', u'Context', u'N', None, None, None, None, u'Identifier', None, u'The numeric server context for this server. CLSCTX_xxxx'),
-(u'Class', u'DefInprocHandler', u'Y', None, None, None, None, u'Filename', u'1;2;3', u'Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"'),
-(u'Class', u'FileTypeMask', u'Y', None, None, None, None, u'Text', None, u'Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...'),
-(u'Class', u'Icon_', u'Y', None, None, u'Icon', 1, u'Identifier', None, u'Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.'),
-(u'Class', u'IconIndex', u'Y', -32767, 32767, None, None, None, None, u'Optional icon index.'),
-(u'Class', u'ProgId_Default', u'Y', None, None, u'ProgId', 1, u'Text', None, u'Optional ProgId associated with this CLSID.'),
-(u'Component', u'Condition', u'Y', None, None, None, None, u'Condition', None, u"A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component."),
-(u'Component', u'Attributes', u'N', None, None, None, None, None, None, u'Remote execution option, one of irsEnum'),
-(u'Component', u'Component', u'N', None, None, None, None, u'Identifier', None, u'Primary key used to identify a particular component record.'),
-(u'Component', u'ComponentId', u'Y', None, None, None, None, u'Guid', None, u'A string GUID unique to this component, version, and language.'),
-(u'Component', u'Directory_', u'N', None, None, u'Directory', 1, u'Identifier', None, u'Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.'),
-(u'Component', u'KeyPath', u'Y', None, None, u'File;Registry;ODBCDataSource', 1, u'Identifier', None, u'Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.'),
-(u'ProgId', u'Description', u'Y', None, None, None, None, u'Text', None, u'Localized description for the Program identifier.'),
-(u'ProgId', u'Icon_', u'Y', None, None, u'Icon', 1, u'Identifier', None, u'Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.'),
-(u'ProgId', u'IconIndex', u'Y', -32767, 32767, None, None, None, None, u'Optional icon index.'),
-(u'ProgId', u'ProgId', u'N', None, None, None, None, u'Text', None, u'The Program Identifier. Primary key.'),
-(u'ProgId', u'Class_', u'Y', None, None, u'Class', 1, u'Guid', None, u'The CLSID of an OLE factory corresponding to the ProgId.'),
-(u'ProgId', u'ProgId_Parent', u'Y', None, None, u'ProgId', 1, u'Text', None, u'The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.'),
-(u'CompLocator', u'Type', u'Y', 0, 1, None, None, None, None, u'A boolean value that determines if the registry value is a filename or a directory location.'),
-(u'CompLocator', u'Signature_', u'N', None, None, None, None, u'Identifier', None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
-(u'CompLocator', u'ComponentId', u'N', None, None, None, None, u'Guid', None, u'A string GUID unique to this component, version, and language.'),
-(u'Complus', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key referencing Component that controls the ComPlus component.'),
-(u'Complus', u'ExpType', u'Y', 0, 32767, None, None, None, None, u'ComPlus component attributes.'),
-(u'Directory', u'Directory', u'N', None, None, None, None, u'Identifier', None, u'Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.'),
-(u'Directory', u'DefaultDir', u'N', None, None, None, None, u'DefaultDir', None, u"The default sub-path under parent's path."),
-(u'Directory', u'Directory_Parent', u'Y', None, None, u'Directory', 1, u'Identifier', None, u'Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.'),
-(u'CreateFolder', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table.'),
-(u'CreateFolder', u'Directory_', u'N', None, None, u'Directory', 1, u'Identifier', None, u'Primary key, could be foreign key into the Directory table.'),
-(u'CustomAction', u'Type', u'N', 1, 16383, None, None, None, None, u'The numeric custom action type, consisting of source location, code type, entry, option flags.'),
-(u'CustomAction', u'Action', u'N', None, None, None, None, u'Identifier', None, u'Primary key, name of action, normally appears in sequence table unless private use.'),
-(u'CustomAction', u'Source', u'Y', None, None, None, None, u'CustomSource', None, u'The table reference of the source of the code.'),
-(u'CustomAction', u'Target', u'Y', None, None, None, None, u'Formatted', None, u'Excecution parameter, depends on the type of custom action'),
-(u'DrLocator', u'Signature_', u'N', None, None, None, None, u'Identifier', None, u'The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
-(u'DrLocator', u'Path', u'Y', None, None, None, None, u'AnyPath', None, u'The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.'),
-(u'DrLocator', u'Depth', u'Y', 0, 32767, None, None, None, None, u'The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.'),
-(u'DrLocator', u'Parent', u'Y', None, None, None, None, u'Identifier', None, u'The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.'),
-(u'DuplicateFile', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Foreign key referencing the source file to be duplicated.'),
-(u'DuplicateFile', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key referencing Component that controls the duplicate file.'),
-(u'DuplicateFile', u'DestFolder', u'Y', None, None, None, None, u'Identifier', None, u'Name of a property whose value is assumed to resolve to the full pathname to a destination folder.'),
-(u'DuplicateFile', u'DestName', u'Y', None, None, None, None, u'Filename', None, u'Filename to be given to the duplicate file.'),
-(u'DuplicateFile', u'FileKey', u'N', None, None, None, None, u'Identifier', None, u'Primary key used to identify a particular file entry'),
-(u'Environment', u'Name', u'N', None, None, None, None, u'Text', None, u'The name of the environmental value.'),
-(u'Environment', u'Value', u'Y', None, None, None, None, u'Formatted', None, u'The value to set in the environmental settings.'),
-(u'Environment', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table referencing component that controls the installing of the environmental value.'),
-(u'Environment', u'Environment', u'N', None, None, None, None, u'Identifier', None, u'Unique identifier for the environmental variable setting'),
-(u'Error', u'Error', u'N', 0, 32767, None, None, None, None, u'Integer error number, obtained from header file IError(...) macros.'),
-(u'Error', u'Message', u'Y', None, None, None, None, u'Template', None, u'Error formatting template, obtained from user ed. or localizers.'),
-(u'Extension', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.'),
-(u'Extension', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
-(u'Extension', u'Extension', u'N', None, None, None, None, u'Text', None, u'The extension associated with the table row.'),
-(u'Extension', u'MIME_', u'Y', None, None, u'MIME', 1, u'Text', None, u'Optional Context identifier, typically "type/format" associated with the extension'),
-(u'Extension', u'ProgId_', u'Y', None, None, u'ProgId', 1, u'Text', None, u'Optional ProgId associated with this extension.'),
-(u'MIME', u'CLSID', u'Y', None, None, None, None, u'Guid', None, u'Optional associated CLSID.'),
-(u'MIME', u'ContentType', u'N', None, None, None, None, u'Text', None, u'Primary key. Context identifier, typically "type/format".'),
-(u'MIME', u'Extension_', u'N', None, None, u'Extension', 1, u'Text', None, u'Optional associated extension (without dot)'),
-(u'FeatureComponents', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Foreign key into Feature table.'),
-(u'FeatureComponents', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into Component table.'),
-(u'FileSFPCatalog', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'File associated with the catalog'),
-(u'FileSFPCatalog', u'SFPCatalog_', u'N', None, None, u'SFPCatalog', 1, u'Filename', None, u'Catalog associated with the file'),
-(u'SFPCatalog', u'SFPCatalog', u'N', None, None, None, None, u'Filename', None, u'File name for the catalog.'),
-(u'SFPCatalog', u'Catalog', u'N', None, None, None, None, u'Binary', None, u'SFP Catalog'),
-(u'SFPCatalog', u'Dependency', u'Y', None, None, None, None, u'Formatted', None, u'Parent catalog - only used by SFP'),
-(u'Font', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Primary key, foreign key into File table referencing font file.'),
-(u'Font', u'FontTitle', u'Y', None, None, None, None, u'Text', None, u'Font name.'),
-(u'IniFile', u'Action', u'N', None, None, None, None, None, u'0;1;3', u'The type of modification to be made, one of iifEnum'),
-(u'IniFile', u'Value', u'N', None, None, None, None, u'Formatted', None, u'The value to be written.'),
-(u'IniFile', u'Key', u'N', None, None, None, None, u'Formatted', None, u'The .INI file key below Section.'),
-(u'IniFile', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table referencing component that controls the installing of the .INI value.'),
-(u'IniFile', u'FileName', u'N', None, None, None, None, u'Filename', None, u'The .INI file name in which to write the information'),
-(u'IniFile', u'IniFile', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'IniFile', u'DirProperty', u'Y', None, None, None, None, u'Identifier', None, u'Foreign key into the Directory table denoting the directory where the .INI file is.'),
-(u'IniFile', u'Section', u'N', None, None, None, None, u'Formatted', None, u'The .INI file Section.'),
-(u'IniLocator', u'Type', u'Y', 0, 2, None, None, None, None, u'An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.'),
-(u'IniLocator', u'Key', u'N', None, None, None, None, u'Text', None, u'Key value (followed by an equals sign in INI file).'),
-(u'IniLocator', u'Signature_', u'N', None, None, None, None, u'Identifier', None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
-(u'IniLocator', u'FileName', u'N', None, None, None, None, u'Filename', None, u'The .INI file name.'),
-(u'IniLocator', u'Section', u'N', None, None, None, None, u'Text', None, u'Section name within in file (within square brackets in INI file).'),
-(u'IniLocator', u'Field', u'Y', 0, 32767, None, None, None, None, u'The field in the .INI line. If Field is null or 0 the entire line is read.'),
-(u'IsolatedComponent', u'Component_Application', u'N', None, None, u'Component', 1, u'Identifier', None, u'Key to Component table item for application'),
-(u'IsolatedComponent', u'Component_Shared', u'N', None, None, u'Component', 1, u'Identifier', None, u'Key to Component table item to be isolated'),
-(u'LaunchCondition', u'Condition', u'N', None, None, None, None, u'Condition', None, u'Expression which must evaluate to TRUE in order for install to commence.'),
-(u'LaunchCondition', u'Description', u'N', None, None, None, None, u'Formatted', None, u'Localizable text to display when condition fails and install must abort.'),
-(u'LockPermissions', u'Table', u'N', None, None, None, None, u'Identifier', u'Directory;File;Registry', u'Reference to another table name'),
-(u'LockPermissions', u'Domain', u'Y', None, None, None, None, u'Formatted', None, u'Domain name for user whose permissions are being set. (usually a property)'),
-(u'LockPermissions', u'LockObject', u'N', None, None, None, None, u'Identifier', None, u'Foreign key into Registry or File table'),
-(u'LockPermissions', u'Permission', u'Y', -2147483647, 2147483647, None, None, None, None, u'Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)'),
-(u'LockPermissions', u'User', u'N', None, None, None, None, u'Formatted', None, u'User for permissions to be set.  (usually a property)'),
-(u'Media', u'Source', u'Y', None, None, None, None, u'Property', None, u'The property defining the location of the cabinet file.'),
-(u'Media', u'Cabinet', u'Y', None, None, None, None, u'Cabinet', None, u'If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.'),
-(u'Media', u'DiskId', u'N', 1, 32767, None, None, None, None, u'Primary key, integer to determine sort order for table.'),
-(u'Media', u'DiskPrompt', u'Y', None, None, None, None, u'Text', None, u'Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.'),
-(u'Media', u'LastSequence', u'N', 0, 32767, None, None, None, None, u'File sequence number for the last file for this media.'),
-(u'Media', u'VolumeLabel', u'Y', None, None, None, None, u'Text', None, u'The label attributed to the volume.'),
-(u'ModuleComponents', u'Component', u'N', None, None, u'Component', 1, u'Identifier', None, u'Component contained in the module.'),
-(u'ModuleComponents', u'Language', u'N', None, None, u'ModuleSignature', 2, None, None, u'Default language ID for module (may be changed by transform).'),
-(u'ModuleComponents', u'ModuleID', u'N', None, None, u'ModuleSignature', 1, u'Identifier', None, u'Module containing the component.'),
-(u'ModuleSignature', u'Language', u'N', None, None, None, None, None, None, u'Default decimal language of module.'),
-(u'ModuleSignature', u'Version', u'N', None, None, None, None, u'Version', None, u'Version of the module.'),
-(u'ModuleSignature', u'ModuleID', u'N', None, None, None, None, u'Identifier', None, u'Module identifier (String.GUID).'),
-(u'ModuleDependency', u'ModuleID', u'N', None, None, u'ModuleSignature', 1, u'Identifier', None, u'Module requiring the dependency.'),
-(u'ModuleDependency', u'ModuleLanguage', u'N', None, None, u'ModuleSignature', 2, None, None, u'Language of module requiring the dependency.'),
-(u'ModuleDependency', u'RequiredID', u'N', None, None, None, None, None, None, u'String.GUID of required module.'),
-(u'ModuleDependency', u'RequiredLanguage', u'N', None, None, None, None, None, None, u'LanguageID of the required module.'),
-(u'ModuleDependency', u'RequiredVersion', u'Y', None, None, None, None, u'Version', None, u'Version of the required version.'),
-(u'ModuleExclusion', u'ModuleID', u'N', None, None, u'ModuleSignature', 1, u'Identifier', None, u'String.GUID of module with exclusion requirement.'),
-(u'ModuleExclusion', u'ModuleLanguage', u'N', None, None, u'ModuleSignature', 2, None, None, u'LanguageID of module with exclusion requirement.'),
-(u'ModuleExclusion', u'ExcludedID', u'N', None, None, None, None, None, None, u'String.GUID of excluded module.'),
-(u'ModuleExclusion', u'ExcludedLanguage', u'N', None, None, None, None, None, None, u'Language of excluded module.'),
-(u'ModuleExclusion', u'ExcludedMaxVersion', u'Y', None, None, None, None, u'Version', None, u'Maximum version of excluded module.'),
-(u'ModuleExclusion', u'ExcludedMinVersion', u'Y', None, None, None, None, u'Version', None, u'Minimum version of excluded module.'),
-(u'MoveFile', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry'),
-(u'MoveFile', u'DestFolder', u'N', None, None, None, None, u'Identifier', None, u'Name of a property whose value is assumed to resolve to the full path to the destination directory'),
-(u'MoveFile', u'DestName', u'Y', None, None, None, None, u'Filename', None, u'Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file'),
-(u'MoveFile', u'FileKey', u'N', None, None, None, None, u'Identifier', None, u'Primary key that uniquely identifies a particular MoveFile record'),
-(u'MoveFile', u'Options', u'N', 0, 1, None, None, None, None, u'Integer value specifying the MoveFile operating mode, one of imfoEnum'),
-(u'MoveFile', u'SourceFolder', u'Y', None, None, None, None, u'Identifier', None, u'Name of a property whose value is assumed to resolve to the full path to the source directory'),
-(u'MoveFile', u'SourceName', u'Y', None, None, None, None, u'Text', None, u"Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards."),
-(u'MsiAssembly', u'Attributes', u'Y', None, None, None, None, None, None, u'Assembly attributes'),
-(u'MsiAssembly', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Foreign key into Feature table.'),
-(u'MsiAssembly', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into Component table.'),
-(u'MsiAssembly', u'File_Application', u'Y', None, None, u'File', 1, u'Identifier', None, u'Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.'),
-(u'MsiAssembly', u'File_Manifest', u'Y', None, None, u'File', 1, u'Identifier', None, u'Foreign key into the File table denoting the manifest file for the assembly.'),
-(u'MsiAssemblyName', u'Name', u'N', None, None, None, None, u'Text', None, u'The name part of the name-value pairs for the assembly name.'),
-(u'MsiAssemblyName', u'Value', u'N', None, None, None, None, u'Text', None, u'The value part of the name-value pairs for the assembly name.'),
-(u'MsiAssemblyName', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into Component table.'),
-(u'MsiDigitalCertificate', u'CertData', u'N', None, None, None, None, u'Binary', None, u'A certificate context blob for a signer certificate'),
-(u'MsiDigitalCertificate', u'DigitalCertificate', u'N', None, None, None, None, u'Identifier', None, u'A unique identifier for the row'),
-(u'MsiDigitalSignature', u'Table', u'N', None, None, None, None, None, u'Media', u'Reference to another table name (only Media table is supported)'),
-(u'MsiDigitalSignature', u'DigitalCertificate_', u'N', None, None, u'MsiDigitalCertificate', 1, u'Identifier', None, u'Foreign key to MsiDigitalCertificate table identifying the signer certificate'),
-(u'MsiDigitalSignature', u'Hash', u'Y', None, None, None, None, u'Binary', None, u'The encoded hash blob from the digital signature'),
-(u'MsiDigitalSignature', u'SignObject', u'N', None, None, None, None, u'Text', None, u'Foreign key to Media table'),
-(u'MsiFileHash', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Primary key, foreign key into File table referencing file with this hash'),
-(u'MsiFileHash', u'Options', u'N', 0, 32767, None, None, None, None, u'Various options and attributes for this hash.'),
-(u'MsiFileHash', u'HashPart1', u'N', None, None, None, None, None, None, u'Size of file in bytes (long integer).'),
-(u'MsiFileHash', u'HashPart2', u'N', None, None, None, None, None, None, u'Size of file in bytes (long integer).'),
-(u'MsiFileHash', u'HashPart3', u'N', None, None, None, None, None, None, u'Size of file in bytes (long integer).'),
-(u'MsiFileHash', u'HashPart4', u'N', None, None, None, None, None, None, u'Size of file in bytes (long integer).'),
-(u'MsiPatchHeaders', u'StreamRef', u'N', None, None, None, None, u'Identifier', None, u'Primary key. A unique identifier for the row.'),
-(u'MsiPatchHeaders', u'Header', u'N', None, None, None, None, u'Binary', None, u'Binary stream. The patch header, used for patch validation.'),
-(u'ODBCAttribute', u'Value', u'Y', None, None, None, None, u'Text', None, u'Value for ODBC driver attribute'),
-(u'ODBCAttribute', u'Attribute', u'N', None, None, None, None, u'Text', None, u'Name of ODBC driver attribute'),
-(u'ODBCAttribute', u'Driver_', u'N', None, None, u'ODBCDriver', 1, u'Identifier', None, u'Reference to ODBC driver in ODBCDriver table'),
-(u'ODBCDriver', u'Description', u'N', None, None, None, None, u'Text', None, u'Text used as registered name for driver, non-localized'),
-(u'ODBCDriver', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Reference to key driver file'),
-(u'ODBCDriver', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Reference to associated component'),
-(u'ODBCDriver', u'Driver', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized.internal token for driver'),
-(u'ODBCDriver', u'File_Setup', u'Y', None, None, u'File', 1, u'Identifier', None, u'Optional reference to key driver setup DLL'),
-(u'ODBCDataSource', u'Description', u'N', None, None, None, None, u'Text', None, u'Text used as registered name for data source'),
-(u'ODBCDataSource', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Reference to associated component'),
-(u'ODBCDataSource', u'DataSource', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized.internal token for data source'),
-(u'ODBCDataSource', u'DriverDescription', u'N', None, None, None, None, u'Text', None, u'Reference to driver description, may be existing driver'),
-(u'ODBCDataSource', u'Registration', u'N', 0, 1, None, None, None, None, u'Registration option: 0=machine, 1=user, others t.b.d.'),
-(u'ODBCSourceAttribute', u'Value', u'Y', None, None, None, None, u'Text', None, u'Value for ODBC data source attribute'),
-(u'ODBCSourceAttribute', u'Attribute', u'N', None, None, None, None, u'Text', None, u'Name of ODBC data source attribute'),
-(u'ODBCSourceAttribute', u'DataSource_', u'N', None, None, u'ODBCDataSource', 1, u'Identifier', None, u'Reference to ODBC data source in ODBCDataSource table'),
-(u'ODBCTranslator', u'Description', u'N', None, None, None, None, u'Text', None, u'Text used as registered name for translator'),
-(u'ODBCTranslator', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Reference to key translator file'),
-(u'ODBCTranslator', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Reference to associated component'),
-(u'ODBCTranslator', u'File_Setup', u'Y', None, None, u'File', 1, u'Identifier', None, u'Optional reference to key translator setup DLL'),
-(u'ODBCTranslator', u'Translator', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized.internal token for translator'),
-(u'Patch', u'Sequence', u'N', 0, 32767, None, None, None, None, u'Primary key, sequence with respect to the media images; order must track cabinet order.'),
-(u'Patch', u'Attributes', u'N', 0, 32767, None, None, None, None, u'Integer containing bit flags representing patch attributes'),
-(u'Patch', u'File_', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.'),
-(u'Patch', u'Header', u'Y', None, None, None, None, u'Binary', None, u'Binary stream. The patch header, used for patch validation.'),
-(u'Patch', u'PatchSize', u'N', 0, 2147483647, None, None, None, None, u'Size of patch in bytes (long integer).'),
-(u'Patch', u'StreamRef_', u'Y', None, None, None, None, u'Identifier', None, u'Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table.'),
-(u'PatchPackage', u'Media_', u'N', 0, 32767, None, None, None, None, u'Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.'),
-(u'PatchPackage', u'PatchId', u'N', None, None, None, None, u'Guid', None, u'A unique string GUID representing this patch.'),
-(u'PublishComponent', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Foreign key into the Feature table.'),
-(u'PublishComponent', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table.'),
-(u'PublishComponent', u'ComponentId', u'N', None, None, None, None, u'Guid', None, u'A string GUID that represents the component id that will be requested by the alien product.'),
-(u'PublishComponent', u'AppData', u'Y', None, None, None, None, u'Text', None, u'This is localisable Application specific data that can be associated with a Qualified Component.'),
-(u'PublishComponent', u'Qualifier', u'N', None, None, None, None, u'Text', None, u'This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.'),
-(u'Registry', u'Name', u'Y', None, None, None, None, u'Formatted', None, u'The registry value name.'),
-(u'Registry', u'Value', u'Y', None, None, None, None, u'Formatted', None, u'The registry value.'),
-(u'Registry', u'Key', u'N', None, None, None, None, u'RegPath', None, u'The key for the registry value.'),
-(u'Registry', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table referencing component that controls the installing of the registry value.'),
-(u'Registry', u'Registry', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'Registry', u'Root', u'N', -1, 3, None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum.'),
-(u'RegLocator', u'Name', u'Y', None, None, None, None, u'Formatted', None, u'The registry value name.'),
-(u'RegLocator', u'Type', u'Y', 0, 18, None, None, None, None, u'An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.'),
-(u'RegLocator', u'Key', u'N', None, None, None, None, u'RegPath', None, u'The key for the registry value.'),
-(u'RegLocator', u'Signature_', u'N', None, None, None, None, u'Identifier', None, u'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.'),
-(u'RegLocator', u'Root', u'N', 0, 3, None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum.'),
-(u'RemoveFile', u'InstallMode', u'N', None, None, None, None, None, u'1;2;3', u'Installation option, one of iimEnum.'),
-(u'RemoveFile', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key referencing Component that controls the file to be removed.'),
-(u'RemoveFile', u'FileKey', u'N', None, None, None, None, u'Identifier', None, u'Primary key used to identify a particular file entry'),
-(u'RemoveFile', u'FileName', u'Y', None, None, None, None, u'WildCardFilename', None, u'Name of the file to be removed.'),
-(u'RemoveFile', u'DirProperty', u'N', None, None, None, None, u'Identifier', None, u'Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.'),
-(u'RemoveIniFile', u'Action', u'N', None, None, None, None, None, u'2;4', u'The type of modification to be made, one of iifEnum.'),
-(u'RemoveIniFile', u'Value', u'Y', None, None, None, None, u'Formatted', None, u'The value to be deleted. The value is required when Action is iifIniRemoveTag'),
-(u'RemoveIniFile', u'Key', u'N', None, None, None, None, u'Formatted', None, u'The .INI file key below Section.'),
-(u'RemoveIniFile', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table referencing component that controls the deletion of the .INI value.'),
-(u'RemoveIniFile', u'FileName', u'N', None, None, None, None, u'Filename', None, u'The .INI file name in which to delete the information'),
-(u'RemoveIniFile', u'DirProperty', u'Y', None, None, None, None, u'Identifier', None, u'Foreign key into the Directory table denoting the directory where the .INI file is.'),
-(u'RemoveIniFile', u'Section', u'N', None, None, None, None, u'Formatted', None, u'The .INI file Section.'),
-(u'RemoveIniFile', u'RemoveIniFile', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'RemoveRegistry', u'Name', u'Y', None, None, None, None, u'Formatted', None, u'The registry value name.'),
-(u'RemoveRegistry', u'Key', u'N', None, None, None, None, u'RegPath', None, u'The key for the registry value.'),
-(u'RemoveRegistry', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table referencing component that controls the deletion of the registry value.'),
-(u'RemoveRegistry', u'Root', u'N', -1, 3, None, None, None, None, u'The predefined root key for the registry value, one of rrkEnum'),
-(u'RemoveRegistry', u'RemoveRegistry', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'ReserveCost', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Reserve a specified amount of space if this component is to be installed.'),
-(u'ReserveCost', u'ReserveFolder', u'Y', None, None, None, None, u'Identifier', None, u'Name of a property whose value is assumed to resolve to the full path to the destination directory'),
-(u'ReserveCost', u'ReserveKey', u'N', None, None, None, None, u'Identifier', None, u'Primary key that uniquely identifies a particular ReserveCost record'),
-(u'ReserveCost', u'ReserveLocal', u'N', 0, 2147483647, None, None, None, None, u'Disk space to reserve if linked component is installed locally.'),
-(u'ReserveCost', u'ReserveSource', u'N', 0, 2147483647, None, None, None, None, u'Disk space to reserve if linked component is installed to run from the source location.'),
-(u'SelfReg', u'File_', u'N', None, None, u'File', 1, u'Identifier', None, u'Foreign key into the File table denoting the module that needs to be registered.'),
-(u'SelfReg', u'Cost', u'Y', 0, 32767, None, None, None, None, u'The cost of registering the module.'),
-(u'ServiceControl', u'Name', u'N', None, None, None, None, u'Formatted', None, u'Name of a service. /, \\, comma and space are invalid'),
-(u'ServiceControl', u'Event', u'N', 0, 187, None, None, None, None, u'Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete'),
-(u'ServiceControl', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Required foreign key into the Component Table that controls the startup of the service'),
-(u'ServiceControl', u'ServiceControl', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'ServiceControl', u'Arguments', u'Y', None, None, None, None, u'Formatted', None, u'Arguments for the service.  Separate by [~].'),
-(u'ServiceControl', u'Wait', u'Y', 0, 1, None, None, None, None, u'Boolean for whether to wait for the service to fully start'),
-(u'ServiceInstall', u'Name', u'N', None, None, None, None, u'Formatted', None, u'Internal Name of the Service'),
-(u'ServiceInstall', u'Description', u'Y', None, None, None, None, u'Text', None, u'Description of service.'),
-(u'ServiceInstall', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Required foreign key into the Component Table that controls the startup of the service'),
-(u'ServiceInstall', u'Arguments', u'Y', None, None, None, None, u'Formatted', None, u'Arguments to include in every start of the service, passed to WinMain'),
-(u'ServiceInstall', u'ServiceInstall', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'ServiceInstall', u'Dependencies', u'Y', None, None, None, None, u'Formatted', None, u'Other services this depends on to start.  Separate by [~], and end with [~][~]'),
-(u'ServiceInstall', u'DisplayName', u'Y', None, None, None, None, u'Formatted', None, u'External Name of the Service'),
-(u'ServiceInstall', u'ErrorControl', u'N', -2147483647, 2147483647, None, None, None, None, u'Severity of error if service fails to start'),
-(u'ServiceInstall', u'LoadOrderGroup', u'Y', None, None, None, None, u'Formatted', None, u'LoadOrderGroup'),
-(u'ServiceInstall', u'Password', u'Y', None, None, None, None, u'Formatted', None, u'password to run service with.  (with StartName)'),
-(u'ServiceInstall', u'ServiceType', u'N', -2147483647, 2147483647, None, None, None, None, u'Type of the service'),
-(u'ServiceInstall', u'StartName', u'Y', None, None, None, None, u'Formatted', None, u'User or object name to run service as'),
-(u'ServiceInstall', u'StartType', u'N', 0, 4, None, None, None, None, u'Type of the service'),
-(u'Shortcut', u'Name', u'N', None, None, None, None, u'Filename', None, u'The name of the shortcut to be created.'),
-(u'Shortcut', u'Description', u'Y', None, None, None, None, u'Text', None, u'The description for the shortcut.'),
-(u'Shortcut', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.'),
-(u'Shortcut', u'Icon_', u'Y', None, None, u'Icon', 1, u'Identifier', None, u'Foreign key into the File table denoting the external icon file for the shortcut.'),
-(u'Shortcut', u'IconIndex', u'Y', -32767, 32767, None, None, None, None, u'The icon index for the shortcut.'),
-(u'Shortcut', u'Directory_', u'N', None, None, u'Directory', 1, u'Identifier', None, u'Foreign key into the Directory table denoting the directory where the shortcut file is created.'),
-(u'Shortcut', u'Target', u'N', None, None, None, None, u'Shortcut', None, u'The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.'),
-(u'Shortcut', u'Arguments', u'Y', None, None, None, None, u'Formatted', None, u'The command-line arguments for the shortcut.'),
-(u'Shortcut', u'Shortcut', u'N', None, None, None, None, u'Identifier', None, u'Primary key, non-localized token.'),
-(u'Shortcut', u'Hotkey', u'Y', 0, 32767, None, None, None, None, u'The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. '),
-(u'Shortcut', u'ShowCmd', u'Y', None, None, None, None, None, u'1;3;7', u'The show command for the application window.The following values may be used.'),
-(u'Shortcut', u'WkDir', u'Y', None, None, None, None, u'Identifier', None, u'Name of property defining location of working directory.'),
-(u'Signature', u'FileName', u'N', None, None, None, None, u'Filename', None, u'The name of the file. This may contain a "short name|long name" pair.'),
-(u'Signature', u'Signature', u'N', None, None, None, None, u'Identifier', None, u'The table key. The Signature represents a unique file signature.'),
-(u'Signature', u'Languages', u'Y', None, None, None, None, u'Language', None, u'The languages supported by the file.'),
-(u'Signature', u'MaxDate', u'Y', 0, 2147483647, None, None, None, None, u'The maximum creation date of the file.'),
-(u'Signature', u'MaxSize', u'Y', 0, 2147483647, None, None, None, None, u'The maximum size of the file. '),
-(u'Signature', u'MaxVersion', u'Y', None, None, None, None, u'Text', None, u'The maximum version of the file.'),
-(u'Signature', u'MinDate', u'Y', 0, 2147483647, None, None, None, None, u'The minimum creation date of the file.'),
-(u'Signature', u'MinSize', u'Y', 0, 2147483647, None, None, None, None, u'The minimum size of the file.'),
-(u'Signature', u'MinVersion', u'Y', None, None, None, None, u'Text', None, u'The minimum version of the file.'),
-(u'TypeLib', u'Feature_', u'N', None, None, u'Feature', 1, u'Identifier', None, u'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.'),
-(u'TypeLib', u'Description', u'Y', None, None, None, None, u'Text', None, None),
-(u'TypeLib', u'Component_', u'N', None, None, u'Component', 1, u'Identifier', None, u'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
-(u'TypeLib', u'Directory_', u'Y', None, None, u'Directory', 1, u'Identifier', None, u'Optional. The foreign key into the Directory table denoting the path to the help file for the type library.'),
-(u'TypeLib', u'Language', u'N', 0, 32767, None, None, None, None, u'The language of the library.'),
-(u'TypeLib', u'Version', u'Y', 0, 16777215, None, None, None, None, u'The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. '),
-(u'TypeLib', u'Cost', u'Y', 0, 2147483647, None, None, None, None, u'The cost associated with the registration of the typelib. This column is currently optional.'),
-(u'TypeLib', u'LibID', u'N', None, None, None, None, u'Guid', None, u'The GUID that represents the library.'),
-(u'Upgrade', u'Attributes', u'N', 0, 2147483647, None, None, None, None, u'The attributes of this product set.'),
-(u'Upgrade', u'Remove', u'Y', None, None, None, None, u'Formatted', None, u'The list of features to remove when uninstalling a product from this set.  The default is "ALL".'),
-(u'Upgrade', u'Language', u'Y', None, None, None, None, u'Language', None, u'A comma-separated list of languages for either products in this set or products not in this set.'),
-(u'Upgrade', u'ActionProperty', u'N', None, None, None, None, u'UpperCase', None, u'The property to set when a product in this set is found.'),
-(u'Upgrade', u'UpgradeCode', u'N', None, None, None, None, u'Guid', None, u'The UpgradeCode GUID belonging to the products in this set.'),
-(u'Upgrade', u'VersionMax', u'Y', None, None, None, None, u'Text', None, u'The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.'),
-(u'Upgrade', u'VersionMin', u'Y', None, None, None, None, u'Text', None, u'The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.'),
-(u'Verb', u'Sequence', u'Y', 0, 32767, None, None, None, None, u'Order within the verbs for a particular extension. Also used simply to specify the default verb.'),
-(u'Verb', u'Argument', u'Y', None, None, None, None, u'Formatted', None, u'Optional value for the command arguments.'),
-(u'Verb', u'Extension_', u'N', None, None, u'Extension', 1, u'Text', None, u'The extension associated with the table row.'),
-(u'Verb', u'Verb', u'N', None, None, None, None, u'Text', None, u'The verb for the command.'),
-(u'Verb', u'Command', u'Y', None, None, None, None, u'Formatted', None, u'The command text.'),
+('AdminExecuteSequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('AdminExecuteSequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('AdminExecuteSequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('AdminUISequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('AdminUISequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('AdminUISequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('Condition', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Expression evaluated to determine if Level in the Feature table is to change.'),
+('Condition', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Reference to a Feature entry in Feature table.'),
+('Condition', 'Level', 'N', 0, 32767, None, None, None, None, 'New selection Level to set in Feature table if Condition evaluates to TRUE.'),
+('AdvtExecuteSequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('AdvtExecuteSequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('AdvtExecuteSequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('BBControl', 'Type', 'N', None, None, None, None, 'Identifier', None, 'The type of the control.'),
+('BBControl', 'BBControl', 'N', None, None, None, None, 'Identifier', None, 'Name of the control. This name must be unique within a billboard, but can repeat on different billboard.'),
+('BBControl', 'Billboard_', 'N', None, None, 'Billboard', 1, 'Identifier', None, 'External key to the Billboard table, name of the billboard.'),
+('BBControl', 'X', 'N', 0, 32767, None, None, None, None, 'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.'),
+('BBControl', 'Y', 'N', 0, 32767, None, None, None, None, 'Vertical coordinate of the upper left corner of the bounding rectangle of the control.'),
+('BBControl', 'Width', 'N', 0, 32767, None, None, None, None, 'Width of the bounding rectangle of the control.'),
+('BBControl', 'Height', 'N', 0, 32767, None, None, None, None, 'Height of the bounding rectangle of the control.'),
+('BBControl', 'Attributes', 'Y', 0, 2147483647, None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this control.'),
+('BBControl', 'Text', 'Y', None, None, None, None, 'Text', None, 'A string used to set the initial text contained within a control (if appropriate).'),
+('Billboard', 'Action', 'Y', None, None, None, None, 'Identifier', None, 'The name of an action. The billboard is displayed during the progress messages received from this action.'),
+('Billboard', 'Billboard', 'N', None, None, None, None, 'Identifier', None, 'Name of the billboard.'),
+('Billboard', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'An external key to the Feature Table. The billboard is shown only if this feature is being installed.'),
+('Billboard', 'Ordering', 'Y', 0, 32767, None, None, None, None, 'A positive integer. If there is more than one billboard corresponding to an action they will be shown in the order defined by this column.'),
+('Binary', 'Name', 'N', None, None, None, None, 'Identifier', None, 'Unique key identifying the binary data.'),
+('Binary', 'Data', 'N', None, None, None, None, 'Binary', None, 'The unformatted binary data.'),
+('CheckBox', 'Property', 'N', None, None, None, None, 'Identifier', None, 'A named property to be tied to the item.'),
+('CheckBox', 'Value', 'Y', None, None, None, None, 'Formatted', None, 'The value string associated with the item.'),
+('Property', 'Property', 'N', None, None, None, None, 'Identifier', None, 'Name of property, uppercase if settable by launcher or loader.'),
+('Property', 'Value', 'N', None, None, None, None, 'Text', None, 'String value for property.  Never null or empty.'),
+('ComboBox', 'Text', 'Y', None, None, None, None, 'Formatted', None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
+('ComboBox', 'Property', 'N', None, None, None, None, 'Identifier', None, 'A named property to be tied to this item. All the items tied to the same property become part of the same combobox.'),
+('ComboBox', 'Value', 'N', None, None, None, None, 'Formatted', None, 'The value string associated with this item. Selecting the line will set the associated property to this value.'),
+('ComboBox', 'Order', 'N', 1, 32767, None, None, None, None, 'A positive integer used to determine the ordering of the items within one list.\tThe integers do not have to be consecutive.'),
+('Control', 'Type', 'N', None, None, None, None, 'Identifier', None, 'The type of the control.'),
+('Control', 'X', 'N', 0, 32767, None, None, None, None, 'Horizontal coordinate of the upper left corner of the bounding rectangle of the control.'),
+('Control', 'Y', 'N', 0, 32767, None, None, None, None, 'Vertical coordinate of the upper left corner of the bounding rectangle of the control.'),
+('Control', 'Width', 'N', 0, 32767, None, None, None, None, 'Width of the bounding rectangle of the control.'),
+('Control', 'Height', 'N', 0, 32767, None, None, None, None, 'Height of the bounding rectangle of the control.'),
+('Control', 'Attributes', 'Y', 0, 2147483647, None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this control.'),
+('Control', 'Text', 'Y', None, None, None, None, 'Formatted', None, 'A string used to set the initial text contained within a control (if appropriate).'),
+('Control', 'Property', 'Y', None, None, None, None, 'Identifier', None, 'The name of a defined property to be linked to this control. '),
+('Control', 'Control', 'N', None, None, None, None, 'Identifier', None, 'Name of the control. This name must be unique within a dialog, but can repeat on different dialogs. '),
+('Control', 'Dialog_', 'N', None, None, 'Dialog', 1, 'Identifier', None, 'External key to the Dialog table, name of the dialog.'),
+('Control', 'Control_Next', 'Y', None, None, 'Control', 2, 'Identifier', None, 'The name of an other control on the same dialog. This link defines the tab order of the controls. The links have to form one or more cycles!'),
+('Control', 'Help', 'Y', None, None, None, None, 'Text', None, 'The help strings used with the button. The text is optional. '),
+('Icon', 'Name', 'N', None, None, None, None, 'Identifier', None, 'Primary key. Name of the icon file.'),
+('Icon', 'Data', 'N', None, None, None, None, 'Binary', None, 'Binary stream. The binary icon data in PE (.DLL or .EXE) or icon (.ICO) format.'),
+('ListBox', 'Text', 'Y', None, None, None, None, 'Text', None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
+('ListBox', 'Property', 'N', None, None, None, None, 'Identifier', None, 'A named property to be tied to this item. All the items tied to the same property become part of the same listbox.'),
+('ListBox', 'Value', 'N', None, None, None, None, 'Formatted', None, 'The value string associated with this item. Selecting the line will set the associated property to this value.'),
+('ListBox', 'Order', 'N', 1, 32767, None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
+('ActionText', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to be described.'),
+('ActionText', 'Description', 'Y', None, None, None, None, 'Text', None, 'Localized description displayed in progress dialog and log when action is executing.'),
+('ActionText', 'Template', 'Y', None, None, None, None, 'Template', None, 'Optional localized format template used to format action data records for display during action execution.'),
+('ControlCondition', 'Action', 'N', None, None, None, None, None, 'Default;Disable;Enable;Hide;Show', 'The desired action to be taken on the specified control.'),
+('ControlCondition', 'Condition', 'N', None, None, None, None, 'Condition', None, 'A standard conditional statement that specifies under which conditions the action should be triggered.'),
+('ControlCondition', 'Dialog_', 'N', None, None, 'Dialog', 1, 'Identifier', None, 'A foreign key to the Dialog table, name of the dialog.'),
+('ControlCondition', 'Control_', 'N', None, None, 'Control', 2, 'Identifier', None, 'A foreign key to the Control table, name of the control.'),
+('ControlEvent', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'A standard conditional statement that specifies under which conditions an event should be triggered.'),
+('ControlEvent', 'Ordering', 'Y', 0, 2147483647, None, None, None, None, 'An integer used to order several events tied to the same control. Can be left blank.'),
+('ControlEvent', 'Dialog_', 'N', None, None, 'Dialog', 1, 'Identifier', None, 'A foreign key to the Dialog table, name of the dialog.'),
+('ControlEvent', 'Control_', 'N', None, None, 'Control', 2, 'Identifier', None, 'A foreign key to the Control table, name of the control'),
+('ControlEvent', 'Event', 'N', None, None, None, None, 'Formatted', None, 'An identifier that specifies the type of the event that should take place when the user interacts with control specified by the first two entries.'),
+('ControlEvent', 'Argument', 'N', None, None, None, None, 'Formatted', None, 'A value to be used as a modifier when triggering a particular event.'),
+('Dialog', 'Width', 'N', 0, 32767, None, None, None, None, 'Width of the bounding rectangle of the dialog.'),
+('Dialog', 'Height', 'N', 0, 32767, None, None, None, None, 'Height of the bounding rectangle of the dialog.'),
+('Dialog', 'Attributes', 'Y', 0, 2147483647, None, None, None, None, 'A 32-bit word that specifies the attribute flags to be applied to this dialog.'),
+('Dialog', 'Title', 'Y', None, None, None, None, 'Formatted', None, "A text string specifying the title to be displayed in the title bar of the dialog's window."),
+('Dialog', 'Dialog', 'N', None, None, None, None, 'Identifier', None, 'Name of the dialog.'),
+('Dialog', 'HCentering', 'N', 0, 100, None, None, None, None, 'Horizontal position of the dialog on a 0-100 scale. 0 means left end, 100 means right end of the screen, 50 center.'),
+('Dialog', 'VCentering', 'N', 0, 100, None, None, None, None, 'Vertical position of the dialog on a 0-100 scale. 0 means top end, 100 means bottom end of the screen, 50 center.'),
+('Dialog', 'Control_First', 'N', None, None, 'Control', 2, 'Identifier', None, 'Defines the control that has the focus when the dialog is created.'),
+('Dialog', 'Control_Default', 'Y', None, None, 'Control', 2, 'Identifier', None, 'Defines the default control. Hitting return is equivalent to pushing this button.'),
+('Dialog', 'Control_Cancel', 'Y', None, None, 'Control', 2, 'Identifier', None, 'Defines the cancel control. Hitting escape or clicking on the close icon on the dialog is equivalent to pushing this button.'),
+('EventMapping', 'Dialog_', 'N', None, None, 'Dialog', 1, 'Identifier', None, 'A foreign key to the Dialog table, name of the Dialog.'),
+('EventMapping', 'Control_', 'N', None, None, 'Control', 2, 'Identifier', None, 'A foreign key to the Control table, name of the control.'),
+('EventMapping', 'Event', 'N', None, None, None, None, 'Identifier', None, 'An identifier that specifies the type of the event that the control subscribes to.'),
+('EventMapping', 'Attribute', 'N', None, None, None, None, 'Identifier', None, 'The name of the control attribute, that is set when this event is received.'),
+('InstallExecuteSequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('InstallExecuteSequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('InstallExecuteSequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('AppSearch', 'Property', 'N', None, None, None, None, 'Identifier', None, 'The property associated with a Signature'),
+('AppSearch', 'Signature_', 'N', None, None, 'Signature;RegLocator;IniLocator;DrLocator;CompLocator', 1, 'Identifier', None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.'),
+('BindImage', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'The index into the File table. This must be an executable file.'),
+('BindImage', 'Path', 'Y', None, None, None, None, 'Paths', None, 'A list of ;  delimited paths that represent the paths to be searched for the import DLLS. The list is usually a list of properties each enclosed within square brackets [] .'),
+('CCPSearch', 'Signature_', 'N', None, None, 'Signature;RegLocator;IniLocator;DrLocator;CompLocator', 1, 'Identifier', None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature,  RegLocator, IniLocator, CompLocator and the DrLocator tables.'),
+('InstallUISequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('InstallUISequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('InstallUISequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('ListView', 'Text', 'Y', None, None, None, None, 'Text', None, 'The visible text to be assigned to the item. Optional. If this entry or the entire column is missing, the text is the same as the value.'),
+('ListView', 'Property', 'N', None, None, None, None, 'Identifier', None, 'A named property to be tied to this item. All the items tied to the same property become part of the same listview.'),
+('ListView', 'Value', 'N', None, None, None, None, 'Identifier', None, 'The value string associated with this item. Selecting the line will set the associated property to this value.'),
+('ListView', 'Order', 'N', 1, 32767, None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
+('ListView', 'Binary_', 'Y', None, None, 'Binary', 1, 'Identifier', None, 'The name of the icon to be displayed with the icon. The binary information is looked up from the Binary Table.'),
+('RadioButton', 'X', 'N', 0, 32767, None, None, None, None, 'The horizontal coordinate of the upper left corner of the bounding rectangle of the radio button.'),
+('RadioButton', 'Y', 'N', 0, 32767, None, None, None, None, 'The vertical coordinate of the upper left corner of the bounding rectangle of the radio button.'),
+('RadioButton', 'Width', 'N', 0, 32767, None, None, None, None, 'The width of the button.'),
+('RadioButton', 'Height', 'N', 0, 32767, None, None, None, None, 'The height of the button.'),
+('RadioButton', 'Text', 'Y', None, None, None, None, 'Text', None, 'The visible title to be assigned to the radio button.'),
+('RadioButton', 'Property', 'N', None, None, None, None, 'Identifier', None, 'A named property to be tied to this radio button. All the buttons tied to the same property become part of the same group.'),
+('RadioButton', 'Value', 'N', None, None, None, None, 'Formatted', None, 'The value string associated with this button. Selecting the button will set the associated property to this value.'),
+('RadioButton', 'Order', 'N', 1, 32767, None, None, None, None, 'A positive integer used to determine the ordering of the items within one list..The integers do not have to be consecutive.'),
+('RadioButton', 'Help', 'Y', None, None, None, None, 'Text', None, 'The help strings used with the button. The text is optional.'),
+('TextStyle', 'TextStyle', 'N', None, None, None, None, 'Identifier', None, 'Name of the style. The primary key of this table. This name is embedded in the texts to indicate a style change.'),
+('TextStyle', 'FaceName', 'N', None, None, None, None, 'Text', None, 'A string indicating the name of the font used. Required. The string must be at most 31 characters long.'),
+('TextStyle', 'Size', 'N', 0, 32767, None, None, None, None, 'The size of the font used. This size is given in our units (1/12 of the system font height). Assuming that the system font is set to 12 point size, this is equivalent to the point size.'),
+('TextStyle', 'Color', 'Y', 0, 16777215, None, None, None, None, 'A long integer indicating the color of the string in the RGB format (Red, Green, Blue each 0-255, RGB = R + 256*G + 256^2*B).'),
+('TextStyle', 'StyleBits', 'Y', 0, 15, None, None, None, None, 'A combination of style bits.'),
+('UIText', 'Text', 'Y', None, None, None, None, 'Text', None, 'The localized version of the string.'),
+('UIText', 'Key', 'N', None, None, None, None, 'Identifier', None, 'A unique key that identifies the particular string.'),
+('_Validation', 'Table', 'N', None, None, None, None, 'Identifier', None, 'Name of table'),
+('_Validation', 'Description', 'Y', None, None, None, None, 'Text', None, 'Description of column'),
+('_Validation', 'Column', 'N', None, None, None, None, 'Identifier', None, 'Name of column'),
+('_Validation', 'Nullable', 'N', None, None, None, None, None, 'Y;N;@', 'Whether the column is nullable'),
+('_Validation', 'MinValue', 'Y', -2147483647, 2147483647, None, None, None, None, 'Minimum value allowed'),
+('_Validation', 'MaxValue', 'Y', -2147483647, 2147483647, None, None, None, None, 'Maximum value allowed'),
+('_Validation', 'KeyTable', 'Y', None, None, None, None, 'Identifier', None, 'For foreign key, Name of table to which data must link'),
+('_Validation', 'KeyColumn', 'Y', 1, 32, None, None, None, None, 'Column to which foreign key connects'),
+('_Validation', 'Category', 'Y', None, None, None, None, None, 'Text;Formatted;Template;Condition;Guid;Path;Version;Language;Identifier;Binary;UpperCase;LowerCase;Filename;Paths;AnyPath;WildCardFilename;RegPath;KeyFormatted;CustomSource;Property;Cabinet;Shortcut;URL', 'String category'),
+('_Validation', 'Set', 'Y', None, None, None, None, 'Text', None, 'Set of values that are permitted'),
+('AdvtUISequence', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Name of action to invoke, either in the engine or the handler DLL.'),
+('AdvtUISequence', 'Sequence', 'Y', -4, 32767, None, None, None, None, 'Number that determines the sort order in which the actions are to be executed.  Leave blank to suppress action.'),
+('AdvtUISequence', 'Condition', 'Y', None, None, None, None, 'Condition', None, 'Optional expression which skips the action if evaluates to expFalse.If the expression syntax is invalid, the engine will terminate, returning iesBadActionData.'),
+('AppId', 'AppId', 'N', None, None, None, None, 'Guid', None, None),
+('AppId', 'ActivateAtStorage', 'Y', 0, 1, None, None, None, None, None),
+('AppId', 'DllSurrogate', 'Y', None, None, None, None, 'Text', None, None),
+('AppId', 'LocalService', 'Y', None, None, None, None, 'Text', None, None),
+('AppId', 'RemoteServerName', 'Y', None, None, None, None, 'Formatted', None, None),
+('AppId', 'RunAsInteractiveUser', 'Y', 0, 1, None, None, None, None, None),
+('AppId', 'ServiceParameters', 'Y', None, None, None, None, 'Text', None, None),
+('Feature', 'Attributes', 'N', None, None, None, None, None, '0;1;2;4;5;6;8;9;10;16;17;18;20;21;22;24;25;26;32;33;34;36;37;38;48;49;50;52;53;54', 'Feature attributes'),
+('Feature', 'Description', 'Y', None, None, None, None, 'Text', None, 'Longer descriptive text describing a visible feature item.'),
+('Feature', 'Title', 'Y', None, None, None, None, 'Text', None, 'Short text identifying a visible feature item.'),
+('Feature', 'Feature', 'N', None, None, None, None, 'Identifier', None, 'Primary key used to identify a particular feature record.'),
+('Feature', 'Directory_', 'Y', None, None, 'Directory', 1, 'UpperCase', None, 'The name of the Directory that can be configured by the UI. A non-null value will enable the browse button.'),
+('Feature', 'Level', 'N', 0, 32767, None, None, None, None, 'The install level at which record will be initially selected. An install level of 0 will disable an item and prevent its display.'),
+('Feature', 'Display', 'Y', 0, 32767, None, None, None, None, 'Numeric sort order, used to force a specific display ordering.'),
+('Feature', 'Feature_Parent', 'Y', None, None, 'Feature', 1, 'Identifier', None, 'Optional key of a parent record in the same table. If the parent is not selected, then the record will not be installed. Null indicates a root item.'),
+('File', 'Sequence', 'N', 1, 32767, None, None, None, None, 'Sequence with respect to the media images; order must track cabinet order.'),
+('File', 'Attributes', 'Y', 0, 32767, None, None, None, None, 'Integer containing bit flags representing file attributes (with the decimal value of each bit position in parentheses)'),
+('File', 'File', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token, must match identifier in cabinet.  For uncompressed files, this field is ignored.'),
+('File', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key referencing Component that controls the file.'),
+('File', 'FileName', 'N', None, None, None, None, 'Filename', None, 'File name used for installation, may be localized.  This may contain a "short name|long name" pair.'),
+('File', 'FileSize', 'N', 0, 2147483647, None, None, None, None, 'Size of file in bytes (long integer).'),
+('File', 'Language', 'Y', None, None, None, None, 'Language', None, 'List of decimal language Ids, comma-separated if more than one.'),
+('File', 'Version', 'Y', None, None, 'File', 1, 'Version', None, 'Version string for versioned files;  Blank for unversioned files.'),
+('Class', 'Attributes', 'Y', None, 32767, None, None, None, None, 'Class registration attributes.'),
+('Class', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.'),
+('Class', 'Description', 'Y', None, None, None, None, 'Text', None, 'Localized description for the Class.'),
+('Class', 'Argument', 'Y', None, None, None, None, 'Formatted', None, 'optional argument for LocalServers.'),
+('Class', 'AppId_', 'Y', None, None, 'AppId', 1, 'Guid', None, 'Optional AppID containing DCOM information for associated application (string GUID).'),
+('Class', 'CLSID', 'N', None, None, None, None, 'Guid', None, 'The CLSID of an OLE factory.'),
+('Class', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
+('Class', 'Context', 'N', None, None, None, None, 'Identifier', None, 'The numeric server context for this server. CLSCTX_xxxx'),
+('Class', 'DefInprocHandler', 'Y', None, None, None, None, 'Filename', '1;2;3', 'Optional default inproc handler.  Only optionally provided if Context=CLSCTX_LOCAL_SERVER.  Typically "ole32.dll" or "mapi32.dll"'),
+('Class', 'FileTypeMask', 'Y', None, None, None, None, 'Text', None, 'Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...'),
+('Class', 'Icon_', 'Y', None, None, 'Icon', 1, 'Identifier', None, 'Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.'),
+('Class', 'IconIndex', 'Y', -32767, 32767, None, None, None, None, 'Optional icon index.'),
+('Class', 'ProgId_Default', 'Y', None, None, 'ProgId', 1, 'Text', None, 'Optional ProgId associated with this CLSID.'),
+('Component', 'Condition', 'Y', None, None, None, None, 'Condition', None, "A conditional statement that will disable this component if the specified condition evaluates to the 'True' state. If a component is disabled, it will not be installed, regardless of the 'Action' state associated with the component."),
+('Component', 'Attributes', 'N', None, None, None, None, None, None, 'Remote execution option, one of irsEnum'),
+('Component', 'Component', 'N', None, None, None, None, 'Identifier', None, 'Primary key used to identify a particular component record.'),
+('Component', 'ComponentId', 'Y', None, None, None, None, 'Guid', None, 'A string GUID unique to this component, version, and language.'),
+('Component', 'Directory_', 'N', None, None, 'Directory', 1, 'Identifier', None, 'Required key of a Directory table record. This is actually a property name whose value contains the actual path, set either by the AppSearch action or with the default setting obtained from the Directory table.'),
+('Component', 'KeyPath', 'Y', None, None, 'File;Registry;ODBCDataSource', 1, 'Identifier', None, 'Either the primary key into the File table, Registry table, or ODBCDataSource table. This extract path is stored when the component is installed, and is used to detect the presence of the component and to return the path to it.'),
+('ProgId', 'Description', 'Y', None, None, None, None, 'Text', None, 'Localized description for the Program identifier.'),
+('ProgId', 'Icon_', 'Y', None, None, 'Icon', 1, 'Identifier', None, 'Optional foreign key into the Icon Table, specifying the icon file associated with this ProgId. Will be written under the DefaultIcon key.'),
+('ProgId', 'IconIndex', 'Y', -32767, 32767, None, None, None, None, 'Optional icon index.'),
+('ProgId', 'ProgId', 'N', None, None, None, None, 'Text', None, 'The Program Identifier. Primary key.'),
+('ProgId', 'Class_', 'Y', None, None, 'Class', 1, 'Guid', None, 'The CLSID of an OLE factory corresponding to the ProgId.'),
+('ProgId', 'ProgId_Parent', 'Y', None, None, 'ProgId', 1, 'Text', None, 'The Parent Program Identifier. If specified, the ProgId column becomes a version independent prog id.'),
+('CompLocator', 'Type', 'Y', 0, 1, None, None, None, None, 'A boolean value that determines if the registry value is a filename or a directory location.'),
+('CompLocator', 'Signature_', 'N', None, None, None, None, 'Identifier', None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
+('CompLocator', 'ComponentId', 'N', None, None, None, None, 'Guid', None, 'A string GUID unique to this component, version, and language.'),
+('Complus', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key referencing Component that controls the ComPlus component.'),
+('Complus', 'ExpType', 'Y', 0, 32767, None, None, None, None, 'ComPlus component attributes.'),
+('Directory', 'Directory', 'N', None, None, None, None, 'Identifier', None, 'Unique identifier for directory entry, primary key. If a property by this name is defined, it contains the full path to the directory.'),
+('Directory', 'DefaultDir', 'N', None, None, None, None, 'DefaultDir', None, "The default sub-path under parent's path."),
+('Directory', 'Directory_Parent', 'Y', None, None, 'Directory', 1, 'Identifier', None, 'Reference to the entry in this table specifying the default parent directory. A record parented to itself or with a Null parent represents a root of the install tree.'),
+('CreateFolder', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table.'),
+('CreateFolder', 'Directory_', 'N', None, None, 'Directory', 1, 'Identifier', None, 'Primary key, could be foreign key into the Directory table.'),
+('CustomAction', 'Type', 'N', 1, 16383, None, None, None, None, 'The numeric custom action type, consisting of source location, code type, entry, option flags.'),
+('CustomAction', 'Action', 'N', None, None, None, None, 'Identifier', None, 'Primary key, name of action, normally appears in sequence table unless private use.'),
+('CustomAction', 'Source', 'Y', None, None, None, None, 'CustomSource', None, 'The table reference of the source of the code.'),
+('CustomAction', 'Target', 'Y', None, None, None, None, 'Formatted', None, 'Excecution parameter, depends on the type of custom action'),
+('DrLocator', 'Signature_', 'N', None, None, None, None, 'Identifier', None, 'The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
+('DrLocator', 'Path', 'Y', None, None, None, None, 'AnyPath', None, 'The path on the user system. This is a either a subpath below the value of the Parent or a full path. The path may contain properties enclosed within [ ] that will be expanded.'),
+('DrLocator', 'Depth', 'Y', 0, 32767, None, None, None, None, 'The depth below the path to which the Signature_ is recursively searched. If absent, the depth is assumed to be 0.'),
+('DrLocator', 'Parent', 'Y', None, None, None, None, 'Identifier', None, 'The parent file signature. It is also a foreign key in the Signature table. If null and the Path column does not expand to a full path, then all the fixed drives of the user system are searched using the Path.'),
+('DuplicateFile', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Foreign key referencing the source file to be duplicated.'),
+('DuplicateFile', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key referencing Component that controls the duplicate file.'),
+('DuplicateFile', 'DestFolder', 'Y', None, None, None, None, 'Identifier', None, 'Name of a property whose value is assumed to resolve to the full pathname to a destination folder.'),
+('DuplicateFile', 'DestName', 'Y', None, None, None, None, 'Filename', None, 'Filename to be given to the duplicate file.'),
+('DuplicateFile', 'FileKey', 'N', None, None, None, None, 'Identifier', None, 'Primary key used to identify a particular file entry'),
+('Environment', 'Name', 'N', None, None, None, None, 'Text', None, 'The name of the environmental value.'),
+('Environment', 'Value', 'Y', None, None, None, None, 'Formatted', None, 'The value to set in the environmental settings.'),
+('Environment', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table referencing component that controls the installing of the environmental value.'),
+('Environment', 'Environment', 'N', None, None, None, None, 'Identifier', None, 'Unique identifier for the environmental variable setting'),
+('Error', 'Error', 'N', 0, 32767, None, None, None, None, 'Integer error number, obtained from header file IError(...) macros.'),
+('Error', 'Message', 'Y', None, None, None, None, 'Template', None, 'Error formatting template, obtained from user ed. or localizers.'),
+('Extension', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the CLSID factory to be operational.'),
+('Extension', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
+('Extension', 'Extension', 'N', None, None, None, None, 'Text', None, 'The extension associated with the table row.'),
+('Extension', 'MIME_', 'Y', None, None, 'MIME', 1, 'Text', None, 'Optional Context identifier, typically "type/format" associated with the extension'),
+('Extension', 'ProgId_', 'Y', None, None, 'ProgId', 1, 'Text', None, 'Optional ProgId associated with this extension.'),
+('MIME', 'CLSID', 'Y', None, None, None, None, 'Guid', None, 'Optional associated CLSID.'),
+('MIME', 'ContentType', 'N', None, None, None, None, 'Text', None, 'Primary key. Context identifier, typically "type/format".'),
+('MIME', 'Extension_', 'N', None, None, 'Extension', 1, 'Text', None, 'Optional associated extension (without dot)'),
+('FeatureComponents', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Foreign key into Feature table.'),
+('FeatureComponents', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into Component table.'),
+('FileSFPCatalog', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'File associated with the catalog'),
+('FileSFPCatalog', 'SFPCatalog_', 'N', None, None, 'SFPCatalog', 1, 'Filename', None, 'Catalog associated with the file'),
+('SFPCatalog', 'SFPCatalog', 'N', None, None, None, None, 'Filename', None, 'File name for the catalog.'),
+('SFPCatalog', 'Catalog', 'N', None, None, None, None, 'Binary', None, 'SFP Catalog'),
+('SFPCatalog', 'Dependency', 'Y', None, None, None, None, 'Formatted', None, 'Parent catalog - only used by SFP'),
+('Font', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Primary key, foreign key into File table referencing font file.'),
+('Font', 'FontTitle', 'Y', None, None, None, None, 'Text', None, 'Font name.'),
+('IniFile', 'Action', 'N', None, None, None, None, None, '0;1;3', 'The type of modification to be made, one of iifEnum'),
+('IniFile', 'Value', 'N', None, None, None, None, 'Formatted', None, 'The value to be written.'),
+('IniFile', 'Key', 'N', None, None, None, None, 'Formatted', None, 'The .INI file key below Section.'),
+('IniFile', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table referencing component that controls the installing of the .INI value.'),
+('IniFile', 'FileName', 'N', None, None, None, None, 'Filename', None, 'The .INI file name in which to write the information'),
+('IniFile', 'IniFile', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('IniFile', 'DirProperty', 'Y', None, None, None, None, 'Identifier', None, 'Foreign key into the Directory table denoting the directory where the .INI file is.'),
+('IniFile', 'Section', 'N', None, None, None, None, 'Formatted', None, 'The .INI file Section.'),
+('IniLocator', 'Type', 'Y', 0, 2, None, None, None, None, 'An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation.'),
+('IniLocator', 'Key', 'N', None, None, None, None, 'Text', None, 'Key value (followed by an equals sign in INI file).'),
+('IniLocator', 'Signature_', 'N', None, None, None, None, 'Identifier', None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table.'),
+('IniLocator', 'FileName', 'N', None, None, None, None, 'Filename', None, 'The .INI file name.'),
+('IniLocator', 'Section', 'N', None, None, None, None, 'Text', None, 'Section name within in file (within square brackets in INI file).'),
+('IniLocator', 'Field', 'Y', 0, 32767, None, None, None, None, 'The field in the .INI line. If Field is null or 0 the entire line is read.'),
+('IsolatedComponent', 'Component_Application', 'N', None, None, 'Component', 1, 'Identifier', None, 'Key to Component table item for application'),
+('IsolatedComponent', 'Component_Shared', 'N', None, None, 'Component', 1, 'Identifier', None, 'Key to Component table item to be isolated'),
+('LaunchCondition', 'Condition', 'N', None, None, None, None, 'Condition', None, 'Expression which must evaluate to TRUE in order for install to commence.'),
+('LaunchCondition', 'Description', 'N', None, None, None, None, 'Formatted', None, 'Localizable text to display when condition fails and install must abort.'),
+('LockPermissions', 'Table', 'N', None, None, None, None, 'Identifier', 'Directory;File;Registry', 'Reference to another table name'),
+('LockPermissions', 'Domain', 'Y', None, None, None, None, 'Formatted', None, 'Domain name for user whose permissions are being set. (usually a property)'),
+('LockPermissions', 'LockObject', 'N', None, None, None, None, 'Identifier', None, 'Foreign key into Registry or File table'),
+('LockPermissions', 'Permission', 'Y', -2147483647, 2147483647, None, None, None, None, 'Permission Access mask.  Full Control = 268435456 (GENERIC_ALL = 0x10000000)'),
+('LockPermissions', 'User', 'N', None, None, None, None, 'Formatted', None, 'User for permissions to be set.  (usually a property)'),
+('Media', 'Source', 'Y', None, None, None, None, 'Property', None, 'The property defining the location of the cabinet file.'),
+('Media', 'Cabinet', 'Y', None, None, None, None, 'Cabinet', None, 'If some or all of the files stored on the media are compressed in a cabinet, the name of that cabinet.'),
+('Media', 'DiskId', 'N', 1, 32767, None, None, None, None, 'Primary key, integer to determine sort order for table.'),
+('Media', 'DiskPrompt', 'Y', None, None, None, None, 'Text', None, 'Disk name: the visible text actually printed on the disk.  This will be used to prompt the user when this disk needs to be inserted.'),
+('Media', 'LastSequence', 'N', 0, 32767, None, None, None, None, 'File sequence number for the last file for this media.'),
+('Media', 'VolumeLabel', 'Y', None, None, None, None, 'Text', None, 'The label attributed to the volume.'),
+('ModuleComponents', 'Component', 'N', None, None, 'Component', 1, 'Identifier', None, 'Component contained in the module.'),
+('ModuleComponents', 'Language', 'N', None, None, 'ModuleSignature', 2, None, None, 'Default language ID for module (may be changed by transform).'),
+('ModuleComponents', 'ModuleID', 'N', None, None, 'ModuleSignature', 1, 'Identifier', None, 'Module containing the component.'),
+('ModuleSignature', 'Language', 'N', None, None, None, None, None, None, 'Default decimal language of module.'),
+('ModuleSignature', 'Version', 'N', None, None, None, None, 'Version', None, 'Version of the module.'),
+('ModuleSignature', 'ModuleID', 'N', None, None, None, None, 'Identifier', None, 'Module identifier (String.GUID).'),
+('ModuleDependency', 'ModuleID', 'N', None, None, 'ModuleSignature', 1, 'Identifier', None, 'Module requiring the dependency.'),
+('ModuleDependency', 'ModuleLanguage', 'N', None, None, 'ModuleSignature', 2, None, None, 'Language of module requiring the dependency.'),
+('ModuleDependency', 'RequiredID', 'N', None, None, None, None, None, None, 'String.GUID of required module.'),
+('ModuleDependency', 'RequiredLanguage', 'N', None, None, None, None, None, None, 'LanguageID of the required module.'),
+('ModuleDependency', 'RequiredVersion', 'Y', None, None, None, None, 'Version', None, 'Version of the required version.'),
+('ModuleExclusion', 'ModuleID', 'N', None, None, 'ModuleSignature', 1, 'Identifier', None, 'String.GUID of module with exclusion requirement.'),
+('ModuleExclusion', 'ModuleLanguage', 'N', None, None, 'ModuleSignature', 2, None, None, 'LanguageID of module with exclusion requirement.'),
+('ModuleExclusion', 'ExcludedID', 'N', None, None, None, None, None, None, 'String.GUID of excluded module.'),
+('ModuleExclusion', 'ExcludedLanguage', 'N', None, None, None, None, None, None, 'Language of excluded module.'),
+('ModuleExclusion', 'ExcludedMaxVersion', 'Y', None, None, None, None, 'Version', None, 'Maximum version of excluded module.'),
+('ModuleExclusion', 'ExcludedMinVersion', 'Y', None, None, None, None, 'Version', None, 'Minimum version of excluded module.'),
+('MoveFile', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'If this component is not "selected" for installation or removal, no action will be taken on the associated MoveFile entry'),
+('MoveFile', 'DestFolder', 'N', None, None, None, None, 'Identifier', None, 'Name of a property whose value is assumed to resolve to the full path to the destination directory'),
+('MoveFile', 'DestName', 'Y', None, None, None, None, 'Filename', None, 'Name to be given to the original file after it is moved or copied.  If blank, the destination file will be given the same name as the source file'),
+('MoveFile', 'FileKey', 'N', None, None, None, None, 'Identifier', None, 'Primary key that uniquely identifies a particular MoveFile record'),
+('MoveFile', 'Options', 'N', 0, 1, None, None, None, None, 'Integer value specifying the MoveFile operating mode, one of imfoEnum'),
+('MoveFile', 'SourceFolder', 'Y', None, None, None, None, 'Identifier', None, 'Name of a property whose value is assumed to resolve to the full path to the source directory'),
+('MoveFile', 'SourceName', 'Y', None, None, None, None, 'Text', None, "Name of the source file(s) to be moved or copied.  Can contain the '*' or '?' wildcards."),
+('MsiAssembly', 'Attributes', 'Y', None, None, None, None, None, None, 'Assembly attributes'),
+('MsiAssembly', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Foreign key into Feature table.'),
+('MsiAssembly', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into Component table.'),
+('MsiAssembly', 'File_Application', 'Y', None, None, 'File', 1, 'Identifier', None, 'Foreign key into File table, denoting the application context for private assemblies. Null for global assemblies.'),
+('MsiAssembly', 'File_Manifest', 'Y', None, None, 'File', 1, 'Identifier', None, 'Foreign key into the File table denoting the manifest file for the assembly.'),
+('MsiAssemblyName', 'Name', 'N', None, None, None, None, 'Text', None, 'The name part of the name-value pairs for the assembly name.'),
+('MsiAssemblyName', 'Value', 'N', None, None, None, None, 'Text', None, 'The value part of the name-value pairs for the assembly name.'),
+('MsiAssemblyName', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into Component table.'),
+('MsiDigitalCertificate', 'CertData', 'N', None, None, None, None, 'Binary', None, 'A certificate context blob for a signer certificate'),
+('MsiDigitalCertificate', 'DigitalCertificate', 'N', None, None, None, None, 'Identifier', None, 'A unique identifier for the row'),
+('MsiDigitalSignature', 'Table', 'N', None, None, None, None, None, 'Media', 'Reference to another table name (only Media table is supported)'),
+('MsiDigitalSignature', 'DigitalCertificate_', 'N', None, None, 'MsiDigitalCertificate', 1, 'Identifier', None, 'Foreign key to MsiDigitalCertificate table identifying the signer certificate'),
+('MsiDigitalSignature', 'Hash', 'Y', None, None, None, None, 'Binary', None, 'The encoded hash blob from the digital signature'),
+('MsiDigitalSignature', 'SignObject', 'N', None, None, None, None, 'Text', None, 'Foreign key to Media table'),
+('MsiFileHash', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Primary key, foreign key into File table referencing file with this hash'),
+('MsiFileHash', 'Options', 'N', 0, 32767, None, None, None, None, 'Various options and attributes for this hash.'),
+('MsiFileHash', 'HashPart1', 'N', None, None, None, None, None, None, 'Size of file in bytes (long integer).'),
+('MsiFileHash', 'HashPart2', 'N', None, None, None, None, None, None, 'Size of file in bytes (long integer).'),
+('MsiFileHash', 'HashPart3', 'N', None, None, None, None, None, None, 'Size of file in bytes (long integer).'),
+('MsiFileHash', 'HashPart4', 'N', None, None, None, None, None, None, 'Size of file in bytes (long integer).'),
+('MsiPatchHeaders', 'StreamRef', 'N', None, None, None, None, 'Identifier', None, 'Primary key. A unique identifier for the row.'),
+('MsiPatchHeaders', 'Header', 'N', None, None, None, None, 'Binary', None, 'Binary stream. The patch header, used for patch validation.'),
+('ODBCAttribute', 'Value', 'Y', None, None, None, None, 'Text', None, 'Value for ODBC driver attribute'),
+('ODBCAttribute', 'Attribute', 'N', None, None, None, None, 'Text', None, 'Name of ODBC driver attribute'),
+('ODBCAttribute', 'Driver_', 'N', None, None, 'ODBCDriver', 1, 'Identifier', None, 'Reference to ODBC driver in ODBCDriver table'),
+('ODBCDriver', 'Description', 'N', None, None, None, None, 'Text', None, 'Text used as registered name for driver, non-localized'),
+('ODBCDriver', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Reference to key driver file'),
+('ODBCDriver', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Reference to associated component'),
+('ODBCDriver', 'Driver', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized.internal token for driver'),
+('ODBCDriver', 'File_Setup', 'Y', None, None, 'File', 1, 'Identifier', None, 'Optional reference to key driver setup DLL'),
+('ODBCDataSource', 'Description', 'N', None, None, None, None, 'Text', None, 'Text used as registered name for data source'),
+('ODBCDataSource', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Reference to associated component'),
+('ODBCDataSource', 'DataSource', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized.internal token for data source'),
+('ODBCDataSource', 'DriverDescription', 'N', None, None, None, None, 'Text', None, 'Reference to driver description, may be existing driver'),
+('ODBCDataSource', 'Registration', 'N', 0, 1, None, None, None, None, 'Registration option: 0=machine, 1=user, others t.b.d.'),
+('ODBCSourceAttribute', 'Value', 'Y', None, None, None, None, 'Text', None, 'Value for ODBC data source attribute'),
+('ODBCSourceAttribute', 'Attribute', 'N', None, None, None, None, 'Text', None, 'Name of ODBC data source attribute'),
+('ODBCSourceAttribute', 'DataSource_', 'N', None, None, 'ODBCDataSource', 1, 'Identifier', None, 'Reference to ODBC data source in ODBCDataSource table'),
+('ODBCTranslator', 'Description', 'N', None, None, None, None, 'Text', None, 'Text used as registered name for translator'),
+('ODBCTranslator', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Reference to key translator file'),
+('ODBCTranslator', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Reference to associated component'),
+('ODBCTranslator', 'File_Setup', 'Y', None, None, 'File', 1, 'Identifier', None, 'Optional reference to key translator setup DLL'),
+('ODBCTranslator', 'Translator', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized.internal token for translator'),
+('Patch', 'Sequence', 'N', 0, 32767, None, None, None, None, 'Primary key, sequence with respect to the media images; order must track cabinet order.'),
+('Patch', 'Attributes', 'N', 0, 32767, None, None, None, None, 'Integer containing bit flags representing patch attributes'),
+('Patch', 'File_', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token, foreign key to File table, must match identifier in cabinet.'),
+('Patch', 'Header', 'Y', None, None, None, None, 'Binary', None, 'Binary stream. The patch header, used for patch validation.'),
+('Patch', 'PatchSize', 'N', 0, 2147483647, None, None, None, None, 'Size of patch in bytes (long integer).'),
+('Patch', 'StreamRef_', 'Y', None, None, None, None, 'Identifier', None, 'Identifier. Foreign key to the StreamRef column of the MsiPatchHeaders table.'),
+('PatchPackage', 'Media_', 'N', 0, 32767, None, None, None, None, 'Foreign key to DiskId column of Media table. Indicates the disk containing the patch package.'),
+('PatchPackage', 'PatchId', 'N', None, None, None, None, 'Guid', None, 'A unique string GUID representing this patch.'),
+('PublishComponent', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Foreign key into the Feature table.'),
+('PublishComponent', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table.'),
+('PublishComponent', 'ComponentId', 'N', None, None, None, None, 'Guid', None, 'A string GUID that represents the component id that will be requested by the alien product.'),
+('PublishComponent', 'AppData', 'Y', None, None, None, None, 'Text', None, 'This is localisable Application specific data that can be associated with a Qualified Component.'),
+('PublishComponent', 'Qualifier', 'N', None, None, None, None, 'Text', None, 'This is defined only when the ComponentId column is an Qualified Component Id. This is the Qualifier for ProvideComponentIndirect.'),
+('Registry', 'Name', 'Y', None, None, None, None, 'Formatted', None, 'The registry value name.'),
+('Registry', 'Value', 'Y', None, None, None, None, 'Formatted', None, 'The registry value.'),
+('Registry', 'Key', 'N', None, None, None, None, 'RegPath', None, 'The key for the registry value.'),
+('Registry', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table referencing component that controls the installing of the registry value.'),
+('Registry', 'Registry', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('Registry', 'Root', 'N', -1, 3, None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum.'),
+('RegLocator', 'Name', 'Y', None, None, None, None, 'Formatted', None, 'The registry value name.'),
+('RegLocator', 'Type', 'Y', 0, 18, None, None, None, None, 'An integer value that determines if the registry value is a filename or a directory location or to be used as is w/o interpretation.'),
+('RegLocator', 'Key', 'N', None, None, None, None, 'RegPath', None, 'The key for the registry value.'),
+('RegLocator', 'Signature_', 'N', None, None, None, None, 'Identifier', None, 'The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key.'),
+('RegLocator', 'Root', 'N', 0, 3, None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum.'),
+('RemoveFile', 'InstallMode', 'N', None, None, None, None, None, '1;2;3', 'Installation option, one of iimEnum.'),
+('RemoveFile', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key referencing Component that controls the file to be removed.'),
+('RemoveFile', 'FileKey', 'N', None, None, None, None, 'Identifier', None, 'Primary key used to identify a particular file entry'),
+('RemoveFile', 'FileName', 'Y', None, None, None, None, 'WildCardFilename', None, 'Name of the file to be removed.'),
+('RemoveFile', 'DirProperty', 'N', None, None, None, None, 'Identifier', None, 'Name of a property whose value is assumed to resolve to the full pathname to the folder of the file to be removed.'),
+('RemoveIniFile', 'Action', 'N', None, None, None, None, None, '2;4', 'The type of modification to be made, one of iifEnum.'),
+('RemoveIniFile', 'Value', 'Y', None, None, None, None, 'Formatted', None, 'The value to be deleted. The value is required when Action is iifIniRemoveTag'),
+('RemoveIniFile', 'Key', 'N', None, None, None, None, 'Formatted', None, 'The .INI file key below Section.'),
+('RemoveIniFile', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table referencing component that controls the deletion of the .INI value.'),
+('RemoveIniFile', 'FileName', 'N', None, None, None, None, 'Filename', None, 'The .INI file name in which to delete the information'),
+('RemoveIniFile', 'DirProperty', 'Y', None, None, None, None, 'Identifier', None, 'Foreign key into the Directory table denoting the directory where the .INI file is.'),
+('RemoveIniFile', 'Section', 'N', None, None, None, None, 'Formatted', None, 'The .INI file Section.'),
+('RemoveIniFile', 'RemoveIniFile', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('RemoveRegistry', 'Name', 'Y', None, None, None, None, 'Formatted', None, 'The registry value name.'),
+('RemoveRegistry', 'Key', 'N', None, None, None, None, 'RegPath', None, 'The key for the registry value.'),
+('RemoveRegistry', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table referencing component that controls the deletion of the registry value.'),
+('RemoveRegistry', 'Root', 'N', -1, 3, None, None, None, None, 'The predefined root key for the registry value, one of rrkEnum'),
+('RemoveRegistry', 'RemoveRegistry', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('ReserveCost', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Reserve a specified amount of space if this component is to be installed.'),
+('ReserveCost', 'ReserveFolder', 'Y', None, None, None, None, 'Identifier', None, 'Name of a property whose value is assumed to resolve to the full path to the destination directory'),
+('ReserveCost', 'ReserveKey', 'N', None, None, None, None, 'Identifier', None, 'Primary key that uniquely identifies a particular ReserveCost record'),
+('ReserveCost', 'ReserveLocal', 'N', 0, 2147483647, None, None, None, None, 'Disk space to reserve if linked component is installed locally.'),
+('ReserveCost', 'ReserveSource', 'N', 0, 2147483647, None, None, None, None, 'Disk space to reserve if linked component is installed to run from the source location.'),
+('SelfReg', 'File_', 'N', None, None, 'File', 1, 'Identifier', None, 'Foreign key into the File table denoting the module that needs to be registered.'),
+('SelfReg', 'Cost', 'Y', 0, 32767, None, None, None, None, 'The cost of registering the module.'),
+('ServiceControl', 'Name', 'N', None, None, None, None, 'Formatted', None, 'Name of a service. /, \\, comma and space are invalid'),
+('ServiceControl', 'Event', 'N', 0, 187, None, None, None, None, 'Bit field:  Install:  0x1 = Start, 0x2 = Stop, 0x8 = Delete, Uninstall: 0x10 = Start, 0x20 = Stop, 0x80 = Delete'),
+('ServiceControl', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Required foreign key into the Component Table that controls the startup of the service'),
+('ServiceControl', 'ServiceControl', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('ServiceControl', 'Arguments', 'Y', None, None, None, None, 'Formatted', None, 'Arguments for the service.  Separate by [~].'),
+('ServiceControl', 'Wait', 'Y', 0, 1, None, None, None, None, 'Boolean for whether to wait for the service to fully start'),
+('ServiceInstall', 'Name', 'N', None, None, None, None, 'Formatted', None, 'Internal Name of the Service'),
+('ServiceInstall', 'Description', 'Y', None, None, None, None, 'Text', None, 'Description of service.'),
+('ServiceInstall', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Required foreign key into the Component Table that controls the startup of the service'),
+('ServiceInstall', 'Arguments', 'Y', None, None, None, None, 'Formatted', None, 'Arguments to include in every start of the service, passed to WinMain'),
+('ServiceInstall', 'ServiceInstall', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('ServiceInstall', 'Dependencies', 'Y', None, None, None, None, 'Formatted', None, 'Other services this depends on to start.  Separate by [~], and end with [~][~]'),
+('ServiceInstall', 'DisplayName', 'Y', None, None, None, None, 'Formatted', None, 'External Name of the Service'),
+('ServiceInstall', 'ErrorControl', 'N', -2147483647, 2147483647, None, None, None, None, 'Severity of error if service fails to start'),
+('ServiceInstall', 'LoadOrderGroup', 'Y', None, None, None, None, 'Formatted', None, 'LoadOrderGroup'),
+('ServiceInstall', 'Password', 'Y', None, None, None, None, 'Formatted', None, 'password to run service with.  (with StartName)'),
+('ServiceInstall', 'ServiceType', 'N', -2147483647, 2147483647, None, None, None, None, 'Type of the service'),
+('ServiceInstall', 'StartName', 'Y', None, None, None, None, 'Formatted', None, 'User or object name to run service as'),
+('ServiceInstall', 'StartType', 'N', 0, 4, None, None, None, None, 'Type of the service'),
+('Shortcut', 'Name', 'N', None, None, None, None, 'Filename', None, 'The name of the shortcut to be created.'),
+('Shortcut', 'Description', 'Y', None, None, None, None, 'Text', None, 'The description for the shortcut.'),
+('Shortcut', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Foreign key into the Component table denoting the component whose selection gates the the shortcut creation/deletion.'),
+('Shortcut', 'Icon_', 'Y', None, None, 'Icon', 1, 'Identifier', None, 'Foreign key into the File table denoting the external icon file for the shortcut.'),
+('Shortcut', 'IconIndex', 'Y', -32767, 32767, None, None, None, None, 'The icon index for the shortcut.'),
+('Shortcut', 'Directory_', 'N', None, None, 'Directory', 1, 'Identifier', None, 'Foreign key into the Directory table denoting the directory where the shortcut file is created.'),
+('Shortcut', 'Target', 'N', None, None, None, None, 'Shortcut', None, 'The shortcut target. This is usually a property that is expanded to a file or a folder that the shortcut points to.'),
+('Shortcut', 'Arguments', 'Y', None, None, None, None, 'Formatted', None, 'The command-line arguments for the shortcut.'),
+('Shortcut', 'Shortcut', 'N', None, None, None, None, 'Identifier', None, 'Primary key, non-localized token.'),
+('Shortcut', 'Hotkey', 'Y', 0, 32767, None, None, None, None, 'The hotkey for the shortcut. It has the virtual-key code for the key in the low-order byte, and the modifier flags in the high-order byte. '),
+('Shortcut', 'ShowCmd', 'Y', None, None, None, None, None, '1;3;7', 'The show command for the application window.The following values may be used.'),
+('Shortcut', 'WkDir', 'Y', None, None, None, None, 'Identifier', None, 'Name of property defining location of working directory.'),
+('Signature', 'FileName', 'N', None, None, None, None, 'Filename', None, 'The name of the file. This may contain a "short name|long name" pair.'),
+('Signature', 'Signature', 'N', None, None, None, None, 'Identifier', None, 'The table key. The Signature represents a unique file signature.'),
+('Signature', 'Languages', 'Y', None, None, None, None, 'Language', None, 'The languages supported by the file.'),
+('Signature', 'MaxDate', 'Y', 0, 2147483647, None, None, None, None, 'The maximum creation date of the file.'),
+('Signature', 'MaxSize', 'Y', 0, 2147483647, None, None, None, None, 'The maximum size of the file. '),
+('Signature', 'MaxVersion', 'Y', None, None, None, None, 'Text', None, 'The maximum version of the file.'),
+('Signature', 'MinDate', 'Y', 0, 2147483647, None, None, None, None, 'The minimum creation date of the file.'),
+('Signature', 'MinSize', 'Y', 0, 2147483647, None, None, None, None, 'The minimum size of the file.'),
+('Signature', 'MinVersion', 'Y', None, None, None, None, 'Text', None, 'The minimum version of the file.'),
+('TypeLib', 'Feature_', 'N', None, None, 'Feature', 1, 'Identifier', None, 'Required foreign key into the Feature Table, specifying the feature to validate or install in order for the type library to be operational.'),
+('TypeLib', 'Description', 'Y', None, None, None, None, 'Text', None, None),
+('TypeLib', 'Component_', 'N', None, None, 'Component', 1, 'Identifier', None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.'),
+('TypeLib', 'Directory_', 'Y', None, None, 'Directory', 1, 'Identifier', None, 'Optional. The foreign key into the Directory table denoting the path to the help file for the type library.'),
+('TypeLib', 'Language', 'N', 0, 32767, None, None, None, None, 'The language of the library.'),
+('TypeLib', 'Version', 'Y', 0, 16777215, None, None, None, None, 'The version of the library. The minor version is in the lower 8 bits of the integer. The major version is in the next 16 bits. '),
+('TypeLib', 'Cost', 'Y', 0, 2147483647, None, None, None, None, 'The cost associated with the registration of the typelib. This column is currently optional.'),
+('TypeLib', 'LibID', 'N', None, None, None, None, 'Guid', None, 'The GUID that represents the library.'),
+('Upgrade', 'Attributes', 'N', 0, 2147483647, None, None, None, None, 'The attributes of this product set.'),
+('Upgrade', 'Remove', 'Y', None, None, None, None, 'Formatted', None, 'The list of features to remove when uninstalling a product from this set.  The default is "ALL".'),
+('Upgrade', 'Language', 'Y', None, None, None, None, 'Language', None, 'A comma-separated list of languages for either products in this set or products not in this set.'),
+('Upgrade', 'ActionProperty', 'N', None, None, None, None, 'UpperCase', None, 'The property to set when a product in this set is found.'),
+('Upgrade', 'UpgradeCode', 'N', None, None, None, None, 'Guid', None, 'The UpgradeCode GUID belonging to the products in this set.'),
+('Upgrade', 'VersionMax', 'Y', None, None, None, None, 'Text', None, 'The maximum ProductVersion of the products in this set.  The set may or may not include products with this particular version.'),
+('Upgrade', 'VersionMin', 'Y', None, None, None, None, 'Text', None, 'The minimum ProductVersion of the products in this set.  The set may or may not include products with this particular version.'),
+('Verb', 'Sequence', 'Y', 0, 32767, None, None, None, None, 'Order within the verbs for a particular extension. Also used simply to specify the default verb.'),
+('Verb', 'Argument', 'Y', None, None, None, None, 'Formatted', None, 'Optional value for the command arguments.'),
+('Verb', 'Extension_', 'N', None, None, 'Extension', 1, 'Text', None, 'The extension associated with the table row.'),
+('Verb', 'Verb', 'N', None, None, None, None, 'Text', None, 'The verb for the command.'),
+('Verb', 'Command', 'Y', None, None, None, None, 'Formatted', None, 'The command text.'),
 ]
 
 Error = [
-(0, u'{{Fatal error: }}'),
-(1, u'{{Error [1]. }}'),
-(2, u'Warning [1]. '),
+(0, '{{Fatal error: }}'),
+(1, '{{Error [1]. }}'),
+(2, 'Warning [1]. '),
 (3, None),
-(4, u'Info [1]. '),
-(5, u'The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}'),
+(4, 'Info [1]. '),
+(5, 'The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is [1]. {{The arguments are: [2], [3], [4]}}'),
 (6, None),
-(7, u'{{Disk full: }}'),
-(8, u'Action [Time]: [1]. [2]'),
-(9, u'[ProductName]'),
-(10, u'{[2]}{, [3]}{, [4]}'),
-(11, u'Message type: [1], Argument: [2]'),
-(12, u'=== Logging started: [Date]  [Time] ==='),
-(13, u'=== Logging stopped: [Date]  [Time] ==='),
-(14, u'Action start [Time]: [1].'),
-(15, u'Action ended [Time]: [1]. Return value [2].'),
-(16, u'Time remaining: {[1] minutes }{[2] seconds}'),
-(17, u'Out of memory. Shut down other applications before retrying.'),
-(18, u'Installer is no longer responding.'),
-(19, u'Installer stopped prematurely.'),
-(20, u'Please wait while Windows configures [ProductName]'),
-(21, u'Gathering required information...'),
-(22, u'Removing older versions of this application...'),
-(23, u'Preparing to remove older versions of this application...'),
-(32, u'{[ProductName] }Setup completed successfully.'),
-(33, u'{[ProductName] }Setup failed.'),
-(1101, u'Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.'),
-(1301, u"Cannot create the file '[2]'.  A directory with this name already exists.  Cancel the install and try installing to a different location."),
-(1302, u'Please insert the disk: [2]'),
-(1303, u'The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as administrator or contact your system administrator.'),
-(1304, u'Error writing to file: [2].  Verify that you have access to that directory.'),
-(1305, u'Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it.'),
-(1306, u"Another application has exclusive access to the file '[2]'.  Please shut down all other applications, then click Retry."),
-(1307, u'There is not enough disk space to install this file: [2].  Free some disk space and click Retry, or click Cancel to exit.'),
-(1308, u'Source file not found: [2].  Verify that the file exists and that you can access it.'),
-(1309, u'Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.'),
-(1310, u'Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.'),
-(1311, u'Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.'),
-(1312, u"Cannot create the directory '[2]'.  A file with this name already exists.  Please rename or remove the file and click retry, or click Cancel to exit."),
-(1313, u'The volume [2] is currently unavailable.  Please select another.'),
-(1314, u"The specified path '[2]' is unavailable."),
-(1315, u'Unable to write to the specified folder: [2].'),
-(1316, u'A network error occurred while attempting to read from the file: [2]'),
-(1317, u'An error occurred while attempting to create the directory: [2]'),
-(1318, u'A network error occurred while attempting to create the directory: [2]'),
-(1319, u'A network error occurred while attempting to open the source file cabinet: [2]'),
-(1320, u'The specified path is too long: [2]'),
-(1321, u'The Installer has insufficient privileges to modify this file: [2].'),
-(1322, u"A portion of the folder path '[2]' is invalid.  It is either empty or exceeds the length allowed by the system."),
-(1323, u"The folder path '[2]' contains words that are not valid in folder paths."),
-(1324, u"The folder path '[2]' contains an invalid character."),
-(1325, u"'[2]' is not a valid short file name."),
-(1326, u'Error getting file security: [3] GetLastError: [2]'),
-(1327, u'Invalid Drive: [2]'),
-(1328, u'Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}'),
-(1329, u'A file that is required cannot be installed because the cabinet file [2] is not digitally signed.  This may indicate that the cabinet file is corrupt.'),
-(1330, u'A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature.  This may indicate that the cabinet file is corrupt.{{  Error [3] was returned by WinVerifyTrust.}}'),
-(1331, u'Failed to correctly copy [2] file: CRC error.'),
-(1332, u'Failed to correctly move [2] file: CRC error.'),
-(1333, u'Failed to correctly patch [2] file: CRC error.'),
-(1334, u"The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."),
-(1335, u"The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."),
-(1336, u'There was an error creating a temporary file that is needed to complete this installation.{{  Folder: [3]. System error code: [2]}}'),
-(1401, u'Could not create key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
-(1402, u'Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
-(1403, u'Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
-(1404, u'Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
-(1405, u'Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
-(1406, u'Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
-(1407, u'Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
-(1408, u'Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
-(1409, u'Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
-(1410, u'Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.'),
-(1500, u'Another installation is in progress. You must complete that installation before continuing this one.'),
-(1501, u'Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.'),
-(1502, u"User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product.  Your current install will now continue."),
-(1503, u"User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product."),
-(1601, u"Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry."),
-(1602, u'Are you sure you want to cancel?'),
-(1603, u"The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}.  Close that application and retry."),
-(1604, u"The product '[2]' is already installed, preventing the installation of this product.  The two products are incompatible."),
-(1605, u"There is not enough disk space on the volume '[2]' to continue the install with recovery enabled. [3] KB are required, but only [4] KB are available. Click Ignore to continue the install without saving recovery information, click Retry to check for available space again, or click Cancel to quit the installation."),
-(1606, u'Could not access network location [2].'),
-(1607, u'The following applications should be closed before continuing the install:'),
-(1608, u'Could not find any previously installed compliant products on the machine for installing this product.'),
-(1609, u"An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. {{Unable to locate the user's SID, system error [3]}}"),
-(1701, u'The key [2] is not valid.  Verify that you entered the correct key.'),
-(1702, u'The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to manually restart later.'),
-(1703, u'You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later.'),
-(1704, u'An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?'),
-(1705, u'A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?'),
-(1706, u"An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'."),
-(1707, u'Installation completed successfully.'),
-(1708, u'Installation failed.'),
-(1709, u'Product: [2] -- [3]'),
-(1710, u'You may either restore your computer to its previous state or continue the install later. Would you like to restore?'),
-(1711, u'An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the install.'),
-(1712, u'One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.'),
-(1713, u'[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}'),
-(1714, u'The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}'),
-(1715, u'Installed [2]'),
-(1716, u'Configured [2]'),
-(1717, u'Removed [2]'),
-(1718, u'File [2] was rejected by digital signature policy.'),
-(1719, u'The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.'),
-(1720, u'There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8] }}'),
-(1721, u'There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action: [2], location: [3], command: [4] }}'),
-(1722, u'There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  {{Action [2], location: [3], command: [4] }}'),
-(1723, u'There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Action [2], entry: [3], library: [4] }}'),
-(1724, u'Removal completed successfully.'),
-(1725, u'Removal failed.'),
-(1726, u'Advertisement completed successfully.'),
-(1727, u'Advertisement failed.'),
-(1728, u'Configuration completed successfully.'),
-(1729, u'Configuration failed.'),
-(1730, u'You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.'),
-(1801, u'The path [2] is not valid.  Please specify a valid path.'),
-(1802, u'Out of memory. Shut down other applications before retrying.'),
-(1803, u'There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.'),
-(1804, u'There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.'),
-(1805, u'The folder [2] does not exist.  Please enter a path to an existing folder.'),
-(1806, u'You have insufficient privileges to read this folder.'),
-(1807, u'A valid destination folder for the install could not be determined.'),
-(1901, u'Error attempting to read from the source install database: [2].'),
-(1902, u'Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.'),
-(1903, u'Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.'),
-(1904, u'Module [2] failed to register.  HRESULT [3].  Contact your support personnel.'),
-(1905, u'Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.'),
-(1906, u'Failed to cache package [2]. Error: [3]. Contact your support personnel.'),
-(1907, u'Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.'),
-(1908, u'Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts.'),
-(1909, u'Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it.'),
-(1910, u'Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it.'),
-(1911, u'Could not register type library for file [2].  Contact your support personnel.'),
-(1912, u'Could not unregister type library for file [2].  Contact your support personnel.'),
-(1913, u'Could not update the ini file [2][3].  Verify that the file exists and that you can access it.'),
-(1914, u'Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].'),
-(1915, u'Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.'),
-(1916, u'Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.'),
-(1917, u'Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.'),
-(1918, u'Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.'),
-(1919, u'Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.'),
-(1920, u"Service '[2]' ([3]) failed to start.  Verify that you have sufficient privileges to start system services."),
-(1921, u"Service '[2]' ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services."),
-(1922, u"Service '[2]' ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services."),
-(1923, u"Service '[2]' ([3]) could not be installed.  Verify that you have sufficient privileges to install system services."),
-(1924, u"Could not update environment variable '[2]'.  Verify that you have sufficient privileges to modify environment variables."),
-(1925, u'You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as administrator and then retry this installation.'),
-(1926, u"Could not set file security for file '[3]'. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file."),
-(1927, u'Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.'),
-(1928, u'Error registering COM+ Application.  Contact your support personnel for more information.'),
-(1929, u'Error unregistering COM+ Application.  Contact your support personnel for more information.'),
-(1930, u"The description for service '[2]' ([3]) could not be changed."),
-(1931, u'The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}'),
-(1932, u'The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}'),
-(1933, u'The Windows Installer service cannot update one or more protected Windows files. {{SFP Error: [2].  List of protected files:\\r\\n[3]}}'),
-(1934, u'User installations are disabled via policy on the machine.'),
-(1935, u'An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}'),
+(7, '{{Disk full: }}'),
+(8, 'Action [Time]: [1]. [2]'),
+(9, '[ProductName]'),
+(10, '{[2]}{, [3]}{, [4]}'),
+(11, 'Message type: [1], Argument: [2]'),
+(12, '=== Logging started: [Date]  [Time] ==='),
+(13, '=== Logging stopped: [Date]  [Time] ==='),
+(14, 'Action start [Time]: [1].'),
+(15, 'Action ended [Time]: [1]. Return value [2].'),
+(16, 'Time remaining: {[1] minutes }{[2] seconds}'),
+(17, 'Out of memory. Shut down other applications before retrying.'),
+(18, 'Installer is no longer responding.'),
+(19, 'Installer stopped prematurely.'),
+(20, 'Please wait while Windows configures [ProductName]'),
+(21, 'Gathering required information...'),
+(22, 'Removing older versions of this application...'),
+(23, 'Preparing to remove older versions of this application...'),
+(32, '{[ProductName] }Setup completed successfully.'),
+(33, '{[ProductName] }Setup failed.'),
+(1101, 'Error reading from file: [2]. {{ System error [3].}}  Verify that the file exists and that you can access it.'),
+(1301, "Cannot create the file '[2]'.  A directory with this name already exists.  Cancel the install and try installing to a different location."),
+(1302, 'Please insert the disk: [2]'),
+(1303, 'The installer has insufficient privileges to access this directory: [2].  The installation cannot continue.  Log on as administrator or contact your system administrator.'),
+(1304, 'Error writing to file: [2].  Verify that you have access to that directory.'),
+(1305, 'Error reading from file [2]. {{ System error [3].}} Verify that the file exists and that you can access it.'),
+(1306, "Another application has exclusive access to the file '[2]'.  Please shut down all other applications, then click Retry."),
+(1307, 'There is not enough disk space to install this file: [2].  Free some disk space and click Retry, or click Cancel to exit.'),
+(1308, 'Source file not found: [2].  Verify that the file exists and that you can access it.'),
+(1309, 'Error reading from file: [3]. {{ System error [2].}}  Verify that the file exists and that you can access it.'),
+(1310, 'Error writing to file: [3]. {{ System error [2].}}  Verify that you have access to that directory.'),
+(1311, 'Source file not found{{(cabinet)}}: [2].  Verify that the file exists and that you can access it.'),
+(1312, "Cannot create the directory '[2]'.  A file with this name already exists.  Please rename or remove the file and click retry, or click Cancel to exit."),
+(1313, 'The volume [2] is currently unavailable.  Please select another.'),
+(1314, "The specified path '[2]' is unavailable."),
+(1315, 'Unable to write to the specified folder: [2].'),
+(1316, 'A network error occurred while attempting to read from the file: [2]'),
+(1317, 'An error occurred while attempting to create the directory: [2]'),
+(1318, 'A network error occurred while attempting to create the directory: [2]'),
+(1319, 'A network error occurred while attempting to open the source file cabinet: [2]'),
+(1320, 'The specified path is too long: [2]'),
+(1321, 'The Installer has insufficient privileges to modify this file: [2].'),
+(1322, "A portion of the folder path '[2]' is invalid.  It is either empty or exceeds the length allowed by the system."),
+(1323, "The folder path '[2]' contains words that are not valid in folder paths."),
+(1324, "The folder path '[2]' contains an invalid character."),
+(1325, "'[2]' is not a valid short file name."),
+(1326, 'Error getting file security: [3] GetLastError: [2]'),
+(1327, 'Invalid Drive: [2]'),
+(1328, 'Error applying patch to file [2].  It has probably been updated by other means, and can no longer be modified by this patch.  For more information contact your patch vendor.  {{System Error: [3]}}'),
+(1329, 'A file that is required cannot be installed because the cabinet file [2] is not digitally signed.  This may indicate that the cabinet file is corrupt.'),
+(1330, 'A file that is required cannot be installed because the cabinet file [2] has an invalid digital signature.  This may indicate that the cabinet file is corrupt.{{  Error [3] was returned by WinVerifyTrust.}}'),
+(1331, 'Failed to correctly copy [2] file: CRC error.'),
+(1332, 'Failed to correctly move [2] file: CRC error.'),
+(1333, 'Failed to correctly patch [2] file: CRC error.'),
+(1334, "The file '[2]' cannot be installed because the file cannot be found in cabinet file '[3]'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."),
+(1335, "The cabinet file '[2]' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."),
+(1336, 'There was an error creating a temporary file that is needed to complete this installation.{{  Folder: [3]. System error code: [2]}}'),
+(1401, 'Could not create key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
+(1402, 'Could not open key: [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
+(1403, 'Could not delete value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
+(1404, 'Could not delete key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
+(1405, 'Could not read value [2] from key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel. '),
+(1406, 'Could not write value [2] to key [3]. {{ System error [4].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
+(1407, 'Could not get value names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
+(1408, 'Could not get sub key names for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
+(1409, 'Could not read security information for key [2]. {{ System error [3].}}  Verify that you have sufficient access to that key, or contact your support personnel.'),
+(1410, 'Could not increase the available registry space. [2] KB of free registry space is required for the installation of this application.'),
+(1500, 'Another installation is in progress. You must complete that installation before continuing this one.'),
+(1501, 'Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.'),
+(1502, "User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product.  Your current install will now continue."),
+(1503, "User '[2]' has previously initiated an install for product '[3]'.  That user will need to run that install again before they can use that product."),
+(1601, "Out of disk space -- Volume: '[2]'; required space: [3] KB; available space: [4] KB.  Free some disk space and retry."),
+(1602, 'Are you sure you want to cancel?'),
+(1603, "The file [2][3] is being held in use{ by the following process: Name: [4], Id: [5], Window Title: '[6]'}.  Close that application and retry."),
+(1604, "The product '[2]' is already installed, preventing the installation of this product.  The two products are incompatible."),
+(1605, "There is not enough disk space on the volume '[2]' to continue the install with recovery enabled. [3] KB are required, but only [4] KB are available. Click Ignore to continue the install without saving recovery information, click Retry to check for available space again, or click Cancel to quit the installation."),
+(1606, 'Could not access network location [2].'),
+(1607, 'The following applications should be closed before continuing the install:'),
+(1608, 'Could not find any previously installed compliant products on the machine for installing this product.'),
+(1609, "An error occurred while applying security settings. [2] is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. {{Unable to locate the user's SID, system error [3]}}"),
+(1701, 'The key [2] is not valid.  Verify that you entered the correct key.'),
+(1702, 'The installer must restart your system before configuration of [2] can continue.  Click Yes to restart now or No if you plan to manually restart later.'),
+(1703, 'You must restart your system for the configuration changes made to [2] to take effect. Click Yes to restart now or No if you plan to manually restart later.'),
+(1704, 'An installation for [2] is currently suspended.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?'),
+(1705, 'A previous installation for this product is in progress.  You must undo the changes made by that installation to continue.  Do you want to undo those changes?'),
+(1706, "An installation package for the product [2] cannot be found. Try the installation again using a valid copy of the installation package '[3]'."),
+(1707, 'Installation completed successfully.'),
+(1708, 'Installation failed.'),
+(1709, 'Product: [2] -- [3]'),
+(1710, 'You may either restore your computer to its previous state or continue the install later. Would you like to restore?'),
+(1711, 'An error occurred while writing installation information to disk.  Check to make sure enough disk space is available, and click Retry, or Cancel to end the install.'),
+(1712, 'One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.'),
+(1713, '[2] cannot install one of its required products. Contact your technical support group.  {{System Error: [3].}}'),
+(1714, 'The older version of [2] cannot be removed.  Contact your technical support group.  {{System Error [3].}}'),
+(1715, 'Installed [2]'),
+(1716, 'Configured [2]'),
+(1717, 'Removed [2]'),
+(1718, 'File [2] was rejected by digital signature policy.'),
+(1719, 'The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.'),
+(1720, 'There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Custom action [2] script error [3], [4]: [5] Line [6], Column [7], [8] }}'),
+(1721, 'There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. {{Action: [2], location: [3], command: [4] }}'),
+(1722, 'There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  {{Action [2], location: [3], command: [4] }}'),
+(1723, 'There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.  {{Action [2], entry: [3], library: [4] }}'),
+(1724, 'Removal completed successfully.'),
+(1725, 'Removal failed.'),
+(1726, 'Advertisement completed successfully.'),
+(1727, 'Advertisement failed.'),
+(1728, 'Configuration completed successfully.'),
+(1729, 'Configuration failed.'),
+(1730, 'You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.'),
+(1801, 'The path [2] is not valid.  Please specify a valid path.'),
+(1802, 'Out of memory. Shut down other applications before retrying.'),
+(1803, 'There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to go back to the previously selected volume.'),
+(1804, 'There is no disk in drive [2]. Please insert one and click Retry, or click Cancel to return to the browse dialog and select a different volume.'),
+(1805, 'The folder [2] does not exist.  Please enter a path to an existing folder.'),
+(1806, 'You have insufficient privileges to read this folder.'),
+(1807, 'A valid destination folder for the install could not be determined.'),
+(1901, 'Error attempting to read from the source install database: [2].'),
+(1902, 'Scheduling reboot operation: Renaming file [2] to [3]. Must reboot to complete operation.'),
+(1903, 'Scheduling reboot operation: Deleting file [2]. Must reboot to complete operation.'),
+(1904, 'Module [2] failed to register.  HRESULT [3].  Contact your support personnel.'),
+(1905, 'Module [2] failed to unregister.  HRESULT [3].  Contact your support personnel.'),
+(1906, 'Failed to cache package [2]. Error: [3]. Contact your support personnel.'),
+(1907, 'Could not register font [2].  Verify that you have sufficient permissions to install fonts, and that the system supports this font.'),
+(1908, 'Could not unregister font [2]. Verify that you that you have sufficient permissions to remove fonts.'),
+(1909, 'Could not create Shortcut [2]. Verify that the destination folder exists and that you can access it.'),
+(1910, 'Could not remove Shortcut [2]. Verify that the shortcut file exists and that you can access it.'),
+(1911, 'Could not register type library for file [2].  Contact your support personnel.'),
+(1912, 'Could not unregister type library for file [2].  Contact your support personnel.'),
+(1913, 'Could not update the ini file [2][3].  Verify that the file exists and that you can access it.'),
+(1914, 'Could not schedule file [2] to replace file [3] on reboot.  Verify that you have write permissions to file [3].'),
+(1915, 'Error removing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.'),
+(1916, 'Error installing ODBC driver manager, ODBC error [2]: [3]. Contact your support personnel.'),
+(1917, 'Error removing ODBC driver: [4], ODBC error [2]: [3]. Verify that you have sufficient privileges to remove ODBC drivers.'),
+(1918, 'Error installing ODBC driver: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.'),
+(1919, 'Error configuring ODBC data source: [4], ODBC error [2]: [3]. Verify that the file [4] exists and that you can access it.'),
+(1920, "Service '[2]' ([3]) failed to start.  Verify that you have sufficient privileges to start system services."),
+(1921, "Service '[2]' ([3]) could not be stopped.  Verify that you have sufficient privileges to stop system services."),
+(1922, "Service '[2]' ([3]) could not be deleted.  Verify that you have sufficient privileges to remove system services."),
+(1923, "Service '[2]' ([3]) could not be installed.  Verify that you have sufficient privileges to install system services."),
+(1924, "Could not update environment variable '[2]'.  Verify that you have sufficient privileges to modify environment variables."),
+(1925, 'You do not have sufficient privileges to complete this installation for all users of the machine.  Log on as administrator and then retry this installation.'),
+(1926, "Could not set file security for file '[3]'. Error: [2].  Verify that you have sufficient privileges to modify the security permissions for this file."),
+(1927, 'Component Services (COM+ 1.0) are not installed on this computer.  This installation requires Component Services in order to complete successfully.  Component Services are available on Windows 2000.'),
+(1928, 'Error registering COM+ Application.  Contact your support personnel for more information.'),
+(1929, 'Error unregistering COM+ Application.  Contact your support personnel for more information.'),
+(1930, "The description for service '[2]' ([3]) could not be changed."),
+(1931, 'The Windows Installer service cannot update the system file [2] because the file is protected by Windows.  You may need to update your operating system for this program to work correctly. {{Package version: [3], OS Protected version: [4]}}'),
+(1932, 'The Windows Installer service cannot update the protected Windows file [2]. {{Package version: [3], OS Protected version: [4], SFP Error: [5]}}'),
+(1933, 'The Windows Installer service cannot update one or more protected Windows files. {{SFP Error: [2].  List of protected files:\\r\\n[3]}}'),
+(1934, 'User installations are disabled via policy on the machine.'),
+(1935, 'An error occurred during the installation of assembly component [2]. HRESULT: [3]. {{assembly interface: [4], function: [5], assembly name: [6]}}'),
 ]
 
 tables=['AdminExecuteSequence', 'AdminUISequence', 'AdvtExecuteSequence', 'BBControl', 'Billboard', 'Binary', 'CheckBox', 'Property', 'ComboBox', 'Control', 'ListBox', 'ActionText', 'ControlCondition', 'ControlEvent', 'Dialog', 'EventMapping', 'InstallExecuteSequence', 'InstallUISequence', 'ListView', 'RadioButton', 'TextStyle', 'UIText', '_Validation', 'Error']
diff --git a/Tools/pybench/CommandLine.py b/Tools/pybench/CommandLine.py
index d0142f8..d6ef0be 100644
--- a/Tools/pybench/CommandLine.py
+++ b/Tools/pybench/CommandLine.py
@@ -537,9 +537,9 @@
         if not options:
             print('  None')
             return
-        long = filter(lambda x: x.prefix == '--', options)
-        short = filter(lambda x: x.prefix == '-', options)
-        items = short + long
+        int = [x for x in options if x.prefix == '--']
+        short = [x for x in options if x.prefix == '-']
+        items = short + int
         for o in options:
             print(' ',o)
         print()
diff --git a/Tools/pybench/Lists.py b/Tools/pybench/Lists.py
index 9aeb408..c39687e 100644
--- a/Tools/pybench/Lists.py
+++ b/Tools/pybench/Lists.py
@@ -157,8 +157,8 @@
 
     def calibrate(self):
 
-        n = range(100)
-        r = range(25)
+        n = list(range(100))
+        r = list(range(25))
 
         for i in range(self.rounds):
             for j in r:
diff --git a/Tools/pybench/With.py b/Tools/pybench/With.py
index 3af24cc..5f59e8c 100644
--- a/Tools/pybench/With.py
+++ b/Tools/pybench/With.py
@@ -17,7 +17,7 @@
 
         cm = self.ContextManager()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             with cm: pass
             with cm: pass
             with cm: pass
@@ -43,7 +43,7 @@
 
         cm = self.ContextManager()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             pass
 
 
@@ -65,7 +65,7 @@
 
         cm = self.ContextManager()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             cm.__enter__()
             try: pass
             finally: cm.__exit__()
@@ -150,7 +150,7 @@
 
         cm = self.ContextManager()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             pass
 
 
@@ -171,12 +171,12 @@
         error = ValueError
         be = self.BlockExceptions()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             with be: raise error
             with be: raise error
-            with be: raise error,"something"
-            with be: raise error,"something"
-            with be: raise error,"something"
+            with be: raise error("something")
+            with be: raise error("something")
+            with be: raise error("something")
             with be: raise error("something")
             with be: raise error("something")
             with be: raise error("something")
@@ -186,5 +186,5 @@
         error = ValueError
         be = self.BlockExceptions()
 
-        for i in xrange(self.rounds):
+        for i in range(self.rounds):
             pass
diff --git a/Tools/pybench/clockres.py b/Tools/pybench/clockres.py
index 42f5ee7..d7f1ac8 100644
--- a/Tools/pybench/clockres.py
+++ b/Tools/pybench/clockres.py
@@ -23,8 +23,7 @@
             break
         for i in spin_loops:
             d[timer()] = 1
-    values = d.keys()
-    values.sort()
+    values = sorted(d.keys())
     min_diff = TEST_TIME
     for i in range(len(values) - 1):
         diff = values[i+1] - values[i]
diff --git a/Tools/pybench/pybench.py b/Tools/pybench/pybench.py
index 781b4f8..771d7ac 100755
--- a/Tools/pybench/pybench.py
+++ b/Tools/pybench/pybench.py
@@ -107,15 +107,13 @@
     buildno, builddate = platform.python_build()
     python = platform.python_version()
     try:
-        unichr(100000)
+        chr(100000)
     except ValueError:
         # UCS2 build (standard)
-        unicode = 'UCS2'
-    except NameError:
-        unicode = None
+        unitype = 'UCS2'
     else:
         # UCS4 build (most recent Linux distros)
-        unicode = 'UCS4'
+        unitype = 'UCS4'
     bits, linkage = platform.architecture()
     return {
         'platform': platform.platform(),
@@ -127,7 +125,7 @@
         'compiler': platform.python_compiler(),
         'buildno': buildno,
         'builddate': builddate,
-        'unicode': unicode,
+        'unicode': unitype,
         'bits': bits,
         }
 
diff --git a/Tools/pynche/ColorDB.py b/Tools/pynche/ColorDB.py
index 6d52b40..fcf1b87 100644
--- a/Tools/pynche/ColorDB.py
+++ b/Tools/pynche/ColorDB.py
@@ -66,7 +66,7 @@
             # version the `name', or the CapitalizedVersion, etc.
             key = (red, green, blue)
             foundname, aliases = self.__byrgb.get(key, (name, []))
-            if foundname <> name and foundname not in aliases:
+            if foundname != name and foundname not in aliases:
                 aliases.append(name)
             self.__byrgb[key] = (foundname, aliases)
             # add to byname lookup
@@ -122,7 +122,7 @@
             self.__allnames = []
             for name, aliases in self.__byrgb.values():
                 self.__allnames.append(name)
-            self.__allnames.sort(key=unicode.lower)
+            self.__allnames.sort(key=str.lower)
         return self.__allnames
 
     def aliases_of(self, red, green, blue):
@@ -209,7 +209,7 @@
     """Converts a #rrggbb color to the tuple (red, green, blue)."""
     rgbtuple = _namedict.get(color)
     if rgbtuple is None:
-        if color[0] <> '#':
+        if color[0] != '#':
             raise BadColor(color)
         red = color[1:3]
         green = color[3:5]
@@ -232,7 +232,7 @@
 
 _maxtuple = (256.0,) * 3
 def triplet_to_fractional_rgb(rgbtuple):
-    return map(operator.__div__, rgbtuple, _maxtuple)
+    return list(map(operator.__div__, rgbtuple, _maxtuple))
 
 
 def triplet_to_brightness(rgbtuple):
diff --git a/Tools/pynche/StripViewer.py b/Tools/pynche/StripViewer.py
index 01bcbf6..a7de398 100644
--- a/Tools/pynche/StripViewer.py
+++ b/Tools/pynche/StripViewer.py
@@ -62,32 +62,32 @@
 # red variations, green+blue = cyan constant
 def constant_red_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, [red] * numchips, seq, seq)
+    return list(map(None, [red] * numchips, seq, seq))
 
 # green variations, red+blue = magenta constant
 def constant_green_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, seq, [green] * numchips, seq)
+    return list(map(None, seq, [green] * numchips, seq))
 
 # blue variations, red+green = yellow constant
 def constant_blue_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, seq, seq, [blue] * numchips)
+    return list(map(None, seq, seq, [blue] * numchips))
 
 # red variations, green+blue = cyan constant
 def constant_cyan_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, seq, [green] * numchips, [blue] * numchips)
+    return list(map(None, seq, [green] * numchips, [blue] * numchips))
 
 # green variations, red+blue = magenta constant
 def constant_magenta_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, [red] * numchips, seq, [blue] * numchips)
+    return list(map(None, [red] * numchips, seq, [blue] * numchips))
 
 # blue variations, red+green = yellow constant
 def constant_yellow_generator(numchips, red, green, blue):
     seq = constant(numchips)
-    return map(None, [red] * numchips, [green] * numchips, seq)
+    return list(map(None, [red] * numchips, [green] * numchips, seq))
 
 
 
diff --git a/Tools/pynche/pyColorChooser.py b/Tools/pynche/pyColorChooser.py
index d2ad61a..9507847 100644
--- a/Tools/pynche/pyColorChooser.py
+++ b/Tools/pynche/pyColorChooser.py
@@ -28,7 +28,7 @@
         dbfile = options.get('databasefile', self.__databasefile)
         # load the database file
         colordb = None
-        if dbfile <> self.__databasefile:
+        if dbfile != self.__databasefile:
             colordb = ColorDB.get_colordb(dbfile)
         if not self.__master:
             from Tkinter import Tk
diff --git a/Tools/unicode/comparecodecs.py b/Tools/unicode/comparecodecs.py
index c291be4..dade1ce 100644
--- a/Tools/unicode/comparecodecs.py
+++ b/Tools/unicode/comparecodecs.py
@@ -15,7 +15,7 @@
     mismatch = 0
     # Check encoding
     for i in range(sys.maxunicode):
-        u = unichr(i)
+        u = chr(i)
         try:
             c1 = u.encode(encoding1)
         except UnicodeError as reason:
@@ -34,11 +34,11 @@
         try:
             u1 = c.decode(encoding1)
         except UnicodeError:
-            u1 = u'<undefined>'
+            u1 = '<undefined>'
         try:
             u2 = c.decode(encoding2)
         except UnicodeError:
-            u2 = u'<undefined>'
+            u2 = '<undefined>'
         if u1 != u2:
             print(' * decoding mismatch for 0x%04X: %-14r != %r' % \
                   (i, u1, u2))
diff --git a/Tools/unicode/gencjkcodecs.py b/Tools/unicode/gencjkcodecs.py
index 975c19c..ebccfc7 100644
--- a/Tools/unicode/gencjkcodecs.py
+++ b/Tools/unicode/gencjkcodecs.py
@@ -55,7 +55,7 @@
 """)
 
 def gencodecs(prefix):
-    for loc, encodings in codecs.iteritems():
+    for loc, encodings in codecs.items():
         for enc in encodings:
             code = TEMPLATE.substitute(ENCODING=enc.upper(),
                                        encoding=enc.lower(),
diff --git a/Tools/unicode/gencodec.py b/Tools/unicode/gencodec.py
index c63f559..c3846e9 100644
--- a/Tools/unicode/gencodec.py
+++ b/Tools/unicode/gencodec.py
@@ -32,7 +32,7 @@
 MAX_TABLE_SIZE = 8192
 
 # Standard undefined Unicode code point
-UNI_UNDEFINED = unichr(0xFFFE)
+UNI_UNDEFINED = chr(0xFFFE)
 
 mapRE = re.compile('((?:0x[0-9a-fA-F]+\+?)+)'
                    '\s+'
@@ -62,7 +62,7 @@
             l[i] = int(l[i],16)
         except ValueError:
             l[i] = None
-    l = filter(lambda x: x is not None, l)
+    l = [x for x in l if x is not None]
     if len(l) == 1:
         return l[0]
     else:
@@ -75,12 +75,12 @@
     f.close()
     enc2uni = {}
     identity = []
-    unmapped = range(256)
+    unmapped = list(range(256))
 
     # UTC mapping tables per convention don't include the identity
     # mappings for code points 0x00 - 0x1F and 0x7F, unless these are
     # explicitly mapped to different characters or undefined
-    for i in range(32) + [127]:
+    for i in list(range(32)) + [127]:
         identity.append(i)
         unmapped.remove(i)
         enc2uni[i] = (i, 'CONTROL CHARACTER')
@@ -138,7 +138,7 @@
 
     l = []
     append = l.append
-    if map.has_key("IDENTITY"):
+    if "IDENTITY" in map:
         append("%s = codecs.make_identity_dict(range(%d))" %
                (varname, map["IDENTITY"]))
         append("%s.update({" % varname)
@@ -150,8 +150,7 @@
         splits = 0
         identity = 0
 
-    mappings = map.items()
-    mappings.sort()
+    mappings = sorted(map.items())
     i = 0
     key_precision, value_precision = precisions
     for mapkey, mapvalue in mappings:
@@ -199,11 +198,10 @@
     append('%s = (' % varname)
 
     # Analyze map and create table dict
-    mappings = map.items()
-    mappings.sort()
+    mappings = sorted(map.items())
     table = {}
     maxkey = 0
-    if map.has_key('IDENTITY'):
+    if 'IDENTITY' in map:
         for key in range(256):
             table[key] = (key, '')
         maxkey = 255
@@ -237,7 +235,7 @@
                 # 1-n mappings not supported
                 return None
             else:
-                mapchar = unichr(mapvalue)
+                mapchar = chr(mapvalue)
         if mapcomment and comments:
             append('    %r\t#  %s -> %s' % (mapchar,
                                             hexrepr(key, key_precision),
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py
index f080ca2..885e559 100644
--- a/Tools/unicode/makeunicodedata.py
+++ b/Tools/unicode/makeunicodedata.py
@@ -71,7 +71,7 @@
                           EASTASIAN_WIDTH % version,
                           DERIVED_CORE_PROPERTIES % version)
 
-    print(len(list(filter(None, unicode.table))), "characters")
+    print(len(filter(None, unicode.table)), "characters")
 
     for version in old_versions:
         print("--- Reading", UNICODE_DATA % ("-"+version), "...")
@@ -79,7 +79,7 @@
                                   COMPOSITION_EXCLUSIONS % ("-"+version),
                                   EASTASIAN_WIDTH % ("-"+version),
                                   DERIVED_CORE_PROPERTIES % ("-"+version))
-        print(len(list(filter(None, old_unicode.table))), "characters")
+        print(len(filter(None, old_unicode.table)), "characters")
         merge_old_version(version, unicode, old_unicode)
 
     makeunicodename(unicode, trace)
@@ -152,8 +152,7 @@
                 prefix = i
                 assert prefix < 256
                 # content
-                decomp = [prefix + (len(decomp)<<8)] +\
-                         list(map(lambda s: int(s, 16), decomp))
+                decomp = [prefix + (len(decomp)<<8)] + [int(s, 16) for s in decomp]
                 # Collect NFC pairs
                 if not prefix and len(decomp) == 3 and \
                    char not in unicode.exclusions and \
@@ -466,7 +465,7 @@
             if name and name[0] != "<":
                 names[char] = name + chr(0)
 
-    print(len(list(filter(lambda n: n is not None, names))), "distinct names")
+    print(len(n for n in names if n is not None), "distinct names")
 
     # collect unique words from names (note that we differ between
     # words inside a sentence, and words ending a sentence.  the
@@ -740,7 +739,7 @@
         # public attributes
         self.filename = filename
         self.table = table
-        self.chars = range(0x110000) # unicode 3.2
+        self.chars = list(range(0x110000)) # unicode 3.2
 
         file = open(exclusions)
         self.exclusions = {}
@@ -763,7 +762,7 @@
             s = s.split()[0].split(';')
             if '..' in s[0]:
                 first, last = [int(c, 16) for c in s[0].split('..')]
-                chars = range(first, last+1)
+                chars = list(range(first, last+1))
             else:
                 chars = [int(s[0], 16)]
             for char in chars:
@@ -785,7 +784,7 @@
             p = p.strip()
             if ".." in r:
                 first, last = [int(c, 16) for c in r.split('..')]
-                chars = range(first, last+1)
+                chars = list(range(first, last+1))
             else:
                 chars = [int(r, 16)]
             for char in chars:
@@ -796,7 +795,7 @@
 
     def uselatin1(self):
         # restrict character range to ISO Latin 1
-        self.chars = range(256)
+        self.chars = list(range(256))
 
 # hash table tools
 
diff --git a/Tools/unicode/mkstringprep.py b/Tools/unicode/mkstringprep.py
index 83a5d8f..868f5cd 100644
--- a/Tools/unicode/mkstringprep.py
+++ b/Tools/unicode/mkstringprep.py
@@ -5,12 +5,12 @@
 
 def gen_category(cats):
     for i in range(0, 0x110000):
-        if unicodedata.category(unichr(i)) in cats:
+        if unicodedata.category(chr(i)) in cats:
             yield(i)
 
 def gen_bidirectional(cats):
     for i in range(0, 0x110000):
-        if unicodedata.bidirectional(unichr(i)) in cats:
+        if unicodedata.bidirectional(chr(i)) in cats:
             yield(i)
 
 def compact_set(l):
@@ -63,14 +63,14 @@
     if m:
         if m.group(1) == "Start":
             if curname:
-                raise "Double Start",(curname, l)
+                raise RuntimeError("Double Start", (curname, l))
             curname = m.group(2)
             table = {}
             tables.append((curname, table))
             continue
         else:
             if not curname:
-                raise "End without start", l
+                raise RuntimeError("End without start", l)
             curname = None
             continue
     if not curname:
@@ -87,7 +87,7 @@
             try:
                 start, end = fields
             except ValueError:
-                raise "Unpacking problem", l
+                raise RuntimeError("Unpacking problem", l)
         else:
             start = end = fields[0]
         start = int(start, 16)
@@ -146,8 +146,7 @@
 name, table = tables[0]
 del tables[0]
 assert name == "B.1"
-table = table.keys()
-table.sort()
+table = sorted(table.keys())
 print("""
 b1_set = """ + compact_set(table) + """
 def in_table_b1(code):
@@ -177,8 +176,7 @@
     if map(ord, unichr(k).lower()) != v:
         b3_exceptions[k] = u"".join(map(unichr,v))
 
-b3 = b3_exceptions.items()
-b3.sort()
+b3 = sorted(b3_exceptions.items())
 
 print("""
 b3_exceptions = {""")
@@ -207,7 +205,7 @@
 def map_table_b2(a):
     al = map_table_b3(a)
     b = unicodedata.normalize("NFKC", al)
-    bl = u"".join([map_table_b3(ch) for ch in b])
+    bl = "".join([map_table_b3(ch) for ch in b])
     c = unicodedata.normalize("NFKC", bl)
     if b != c:
         return c
@@ -216,7 +214,7 @@
 
 specials = {}
 for k,v in table_b2.items():
-    if map(ord, map_table_b2(unichr(k))) != v:
+    if list(map(ord, map_table_b2(chr(k)))) != v:
         specials[k] = v
 
 # B.3 should not add any additional special cases
@@ -321,9 +319,9 @@
 del tables[0]
 assert name == "C.4"
 
-nonchar = set(range(0xFDD0,0xFDF0) +
-              range(0xFFFE,0x110000,0x10000) +
-              range(0xFFFF,0x110000,0x10000))
+nonchar = set(range(0xFDD0,0xFDF0))
+nonchar.update(range(0xFFFE,0x110000,0x10000))
+nonchar.update(range(0xFFFF,0x110000,0x10000))
 table = set(table.keys())
 assert table == nonchar
 
@@ -353,8 +351,7 @@
 del tables[0]
 assert name == "C.6"
 
-table = table.keys()
-table.sort()
+table = sorted(table.keys())
 
 print("""
 c6_set = """ + compact_set(table) + """
@@ -367,8 +364,7 @@
 del tables[0]
 assert name == "C.7"
 
-table = table.keys()
-table.sort()
+table = sorted(table.keys())
 
 print("""
 c7_set = """ + compact_set(table) + """
@@ -381,8 +377,7 @@
 del tables[0]
 assert name == "C.8"
 
-table = table.keys()
-table.sort()
+table = sorted(table.keys())
 
 print("""
 c8_set = """ + compact_set(table) + """
@@ -395,8 +390,7 @@
 del tables[0]
 assert name == "C.9"
 
-table = table.keys()
-table.sort()
+table = sorted(table.keys())
 
 print("""
 c9_set = """ + compact_set(table) + """
diff --git a/Tools/webchecker/wcgui.py b/Tools/webchecker/wcgui.py
index 835d008..4ce613a 100755
--- a/Tools/webchecker/wcgui.py
+++ b/Tools/webchecker/wcgui.py
@@ -257,20 +257,20 @@
         d = self.__details
         d.clear()
         d.put("URL:    %s\n" % self.format_url(url))
-        if self.bad.has_key(url):
+        if url in self.bad:
             d.put("Error:  %s\n" % str(self.bad[url]))
         if url in self.roots:
             d.put("Note:   This is a root URL\n")
-        if self.done.has_key(url):
+        if url in self.done:
             d.put("Status: checked\n")
             o = self.done[url]
-        elif self.todo.has_key(url):
+        elif url in self.todo:
             d.put("Status: to check\n")
             o = self.todo[url]
         else:
             d.put("Status: unknown (!)\n")
             o = []
-        if (not url[1]) and self.errors.has_key(url[0]):
+        if (not url[1]) and url[0] in self.errors:
             d.put("Bad links from this page:\n")
             for triple in self.errors[url[0]]:
                 link, rawlink, msg = triple
@@ -298,9 +298,9 @@
 
     def newlink(self, url, origin):
         webchecker.Checker.newlink(self, url, origin)
-        if self.done.has_key(url):
+        if url in self.done:
             self.__done.insert(url)
-        elif self.todo.has_key(url):
+        elif url in self.todo:
             self.__todo.insert(url)
         self.newstatus()
 
@@ -351,7 +351,7 @@
     def selectedindices(self):
         l = self.list.curselection()
         if not l: return []
-        return map(int, l)
+        return list(map(int, l))
 
     def insert(self, url):
         if url not in self.items:
diff --git a/Tools/webchecker/webchecker.py b/Tools/webchecker/webchecker.py
index 6ad92b2..dbce678 100755
--- a/Tools/webchecker/webchecker.py
+++ b/Tools/webchecker/webchecker.py
@@ -265,7 +265,7 @@
         self.reset()
 
     def setflags(self, **kw):
-        for key in kw.keys():
+        for key in kw:
             if key not in self.validflags:
                 raise NameError("invalid keyword argument: %s" % str(key))
         for key, value in kw.items():
@@ -307,7 +307,7 @@
         (self.roots, self.todo, self.done, self.bad, self.round) = state
         for root in self.roots:
             self.addrobot(root)
-        for url in self.bad.keys():
+        for url in self.bad:
             self.markerror(url)
 
     def addroot(self, root, add_to_do = 1):
@@ -327,7 +327,7 @@
 
     def addrobot(self, root):
         root = urlparse.urljoin(root, "/")
-        if self.robots.has_key(root): return
+        if root in self.robots: return
         url = urlparse.urljoin(root, "/robots.txt")
         self.robots[root] = rp = robotparser.RobotFileParser()
         self.note(2, "Parsing %s", url)
@@ -342,8 +342,7 @@
         while self.todo:
             self.round = self.round + 1
             self.note(0, "\nRound %d (%s)\n", self.round, self.status())
-            urls = self.todo.keys()
-            urls.sort()
+            urls = sorted(self.todo.keys())
             del urls[self.roundsize:]
             for url in urls:
                 self.dopage(url)
@@ -366,8 +365,7 @@
             self.message("\nNo errors")
             return
         self.message("\nError Report:")
-        sources = self.errors.keys()
-        sources.sort()
+        sources = sorted(self.errors.keys())
         for source in sources:
             triples = self.errors[source]
             self.message("")
@@ -432,7 +430,7 @@
         self.markdone(url_pair)
 
     def newlink(self, url, origin):
-        if self.done.has_key(url):
+        if url in self.done:
             self.newdonelink(url, origin)
         else:
             self.newtodolink(url, origin)
@@ -446,7 +444,7 @@
         self.note(3, "  Done link %s", self.format_url(url))
 
         # Make sure that if it's bad, that the origin gets added.
-        if self.bad.has_key(url):
+        if url in self.bad:
             source, rawlink = origin
             triple = url, rawlink, self.bad[url]
             self.seterror(source, triple)
@@ -454,7 +452,7 @@
     def newtodolink(self, url, origin):
         # Call self.format_url(), since the URL here
         # is now a (URL, fragment) pair.
-        if self.todo.has_key(url):
+        if url in self.todo:
             if origin not in self.todo[url]:
                 self.todo[url].append(origin)
             self.note(3, "  Seen todo link %s", self.format_url(url))
@@ -486,7 +484,7 @@
         # Incoming argument name is a (URL, fragment) pair.
         # The page may have been cached in the name_table variable.
         url, fragment = url_pair
-        if self.name_table.has_key(url):
+        if url in self.name_table:
             return self.name_table[url]
 
         scheme, path = urllib.splittype(url)
@@ -550,7 +548,7 @@
             return None
 
     def checkforhtml(self, info, url):
-        if info.has_key('content-type'):
+        if 'content-type' in info:
             ctype = cgi.parse_header(info['content-type'])[0].lower()
             if ';' in ctype:
                 # handle content-type: text/html; charset=iso8859-1 :
@@ -566,13 +564,13 @@
             return 0
 
     def setgood(self, url):
-        if self.bad.has_key(url):
+        if url in self.bad:
             del self.bad[url]
             self.changed = 1
             self.note(0, "(Clear previously seen error)")
 
     def setbad(self, url, msg):
-        if self.bad.has_key(url) and self.bad[url] == msg:
+        if url in self.bad and self.bad[url] == msg:
             self.note(0, "(Seen this error before)")
             return
         self.bad[url] = msg
@@ -882,7 +880,7 @@
         self.check_name_id(attributes)
 
     def getlinks(self):
-        return self.links.keys()
+        return list(self.links.keys())
 
     def getbase(self):
         return self.base
