Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add unit tests for the new VS designer component installer tool. Update the Eagle script library in externals to support this. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
debc75469834a1d93c6993590e1f9c1d |
User & Date: | mistachkin 2012-01-01 04:24:21.052 |
Context
2012-01-01
| ||
05:37 | Must check for the install option prior to the installFlags option. Add unit tests for simulating uninstalls of the VS designer components. Make sure that all paths in the log files are dynamically determined based on the current machine. check-in: a62d1a369b user: mistachkin tags: trunk | |
04:24 | Add unit tests for the new VS designer component installer tool. Update the Eagle script library in externals to support this. check-in: debc754698 user: mistachkin tags: trunk | |
01:31 | Add the concept of trace priority to the VS designer component installer tool. Attempt to get the AssemblyName object before making any changes to the system. Always log changes to the GAC, even when not in 'what-if' mode. check-in: 284310b5a6 user: mistachkin tags: trunk | |
Changes
Changes to Externals/Eagle/lib/Eagle1.0/embed.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # embed.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Application Embedding Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # embed.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Application Embedding Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/init.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # init.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Interpreter Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # init.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Interpreter Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/pkgIndex.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # pkgIndex.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # pkgIndex.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/pkgIndex.tcl.
1 2 3 4 5 6 7 | ############################################################################### # # pkgIndex.tcl -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # pkgIndex.tcl -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/safe.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # safe.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Safe Interpreter Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # safe.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Safe Interpreter Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/shell.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # shell.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Shell Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # shell.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Shell Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/test.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # test.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # test.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Eagle1.0/vendor.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # vendor.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Vendor Initialization File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # vendor.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Vendor Initialization File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/constraints.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # constraints.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Constraints File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # constraints.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Constraints File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ | |||
1534 1535 1536 1537 1538 1539 1540 | # NOTE: Have we not found the directory yet? # if {[string length $directory] == 0} then { # # NOTE: Registry hive where WiX install information # is stored. # | | | 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 | # NOTE: Have we not found the directory yet? # if {[string length $directory] == 0} then { # # NOTE: Registry hive where WiX install information # is stored. # set key {HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Installer XML} # # NOTE: The versions of WiX that we support. # set versions [list 3.5 3.0] # |
︙ | ︙ | |||
1559 1560 1561 1562 1563 1564 1565 | [appendArgs $key \\ $version] InstallRoot \ null] \\]] # # NOTE: Does the directory name look valid and # does it actually exist? # | | < < < | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < | 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 | [appendArgs $key \\ $version] InstallRoot \ null] \\]] # # NOTE: Does the directory name look valid and # does it actually exist? # if {[string length $directory] > 0 && \ [file isdirectory $directory]} then { # # NOTE: The file name of the primary WiX assembly. # set fileName [file join $directory wix.dll] # # NOTE: We do not know the file version yet. # set version "" # # NOTE: Attempt to query the version of the file. # if {[catch {file version $fileName} version] == 0 && \ [string length $version] > 0} then { # # NOTE: Indicate where we found the file. # set where registry # # NOTE: We found it, bail out now. # break } else { # # NOTE: The file does not exist or is not properly # versioned. # set directory "" } } } } |
︙ | ︙ | |||
1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 | # return } } tputs $channel no\n } proc checkForManagedDebugger { channel } { tputs $channel "---- checking for managed debugger... " # # NOTE: Is the managed debugger attached? # | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 | # return } } tputs $channel no\n } proc checkForVisualStudio { channel } { tputs $channel "---- checking for Visual Studio... " # # NOTE: Platform must be Windows for this constraint to even be # checked (i.e. we require the registry). # set visualStudioVersions [list] if {$::tcl_platform(platform) eq "windows"} then { # # NOTE: Registry hive where Visual Studio install information # is stored. # set key {HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio} # # NOTE: The versions of Visual Studio that we support. # set versions [list [list 8.0 2005] [list 9.0 2008] [list 10.0 2010]] # # NOTE: Check each version and keep track of the ones we find. # foreach version $versions { # # NOTE: Attempt to fetch the Visual Studio install directory # value from the registry, removing the trailing backslash, # if any. # set fileName [file normalize [file join [string trimright [object \ invoke Microsoft.Win32.Registry GetValue [appendArgs $key \\ \ [lindex $version 0]] InstallDir null] \\] msenv.dll]] # # NOTE: Does the directory name look valid and does it actually # exist? # if {[string length $fileName] > 0 && [file isfile $fileName]} then { # # NOTE: Yes, it appears that it is available. # addConstraint [appendArgs visualStudio [lindex $version 1]] # # NOTE: Keep track of all the versions that we find. # lappend visualStudioVersions [lindex $version 1] # # NOTE: Save the directory for later usage by # the test itself. # set ::test_visual_studio [file dirname $fileName] } } } if {[llength $visualStudioVersions] > 0} then { # # NOTE: Show where we found the latest version. # tputs $channel [appendArgs "yes (" $visualStudioVersions ", \"" \ $::test_visual_studio "\")\n"] } else { tputs $channel no\n } } proc checkForManagedDebugger { channel } { tputs $channel "---- checking for managed debugger... " # # NOTE: Is the managed debugger attached? # |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/epilogue.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # epilogue.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Epilogue File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # epilogue.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Epilogue File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/pkgIndex.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # pkgIndex.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # pkgIndex.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/pkgIndex.tcl.
1 2 3 4 5 6 7 | ############################################################################### # # pkgIndex.tcl -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # pkgIndex.tcl -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Package Index File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ |
Changes to Externals/Eagle/lib/Test1.0/prologue.eagle.
1 2 3 4 5 6 7 | ############################################################################### # # prologue.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Prologue File # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ############################################################################### # # prologue.eagle -- # # Extensible Adaptable Generalized Logic Engine (Eagle) # Test Prologue File # # Copyright (c) 2007-2012 by Joe Mistachkin. All rights reserved. # # See the file "license.terms" for information on usage and redistribution of # this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: $ # ############################################################################### |
︙ | ︙ | |||
1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 | # if {![info exists no(powerShell)]} then { # # NOTE: For tests "object-4.7", "object-4.8", and "object-4.9". # checkForPowerShell $test_channel } # # NOTE: Has WiX testing support been disabled? # if {![info exists no(wix)]} then { # # NOTE: For test "object-4.10". | > > > > > > > | 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 | # if {![info exists no(powerShell)]} then { # # NOTE: For tests "object-4.7", "object-4.8", and "object-4.9". # checkForPowerShell $test_channel } # # NOTE: Has Visual Studio testing support been disabled? # if {![info exists no(visualStudio)]} then { checkForVisualStudio $test_channel } # # NOTE: Has WiX testing support been disabled? # if {![info exists no(wix)]} then { # # NOTE: For test "object-4.10". |
︙ | ︙ |
Added Tests/Installer_Test_Vs2008.log.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #3: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #4: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = False Installer.exe: #6: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #8: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #9: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin" Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #14: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #15: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #16: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = <null> Installer.exe: #17: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True Installer.exe: #19: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" Installer.exe: #20: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package" Installer.exe: #21: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" Installer.exe: #22: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin\SQLite.Designer.dll" Installer.exe: #23: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 Installer.exe: #24: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "C:\Windows\system32\mscoree.dll" Installer.exe: #25: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" Installer.exe: #26: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" Installer.exe: #27: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" Installer.exe: #28: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" Installer.exe: #29: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\Toolbox", name = "Default Items", value = 3 Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", subKeyName = "Menus", writable = True Installer.exe: #32: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", subKeyName = "Services", writable = True Installer.exe: #34: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" Installer.exe: #35: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = <null>, value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" Installer.exe: #36: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" Installer.exe: #37: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #38: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = <null> Installer.exe: #39: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #40: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", subKeyName = "DataSources", writable = True Installer.exe: #41: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" Installer.exe: #42: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = <null>, value = "System.Data.SQLite Database File" Installer.exe: #43: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" Installer.exe: #44: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #45: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = <null> Installer.exe: #46: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\9.0", writable = False Installer.exe: #47: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True Installer.exe: #48: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" Installer.exe: #49: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite" Installer.exe: #50: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" Installer.exe: #51: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" Installer.exe: #52: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin\SQLite.Designer.dll" Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" Installer.exe: #54: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" Installer.exe: #55: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" Installer.exe: #56: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" Installer.exe: #57: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" Installer.exe: #58: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" Installer.exe: #59: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 20, keyValuesDeleted = 0 |
Added Tests/Installer_Test_Vs2010.log.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319", writable = False Installer.exe: #3: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #4: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = False Installer.exe: #6: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True Installer.exe: #8: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #9: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin" Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319", writable = False Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #14: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #15: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #16: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = <null> Installer.exe: #17: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", subKeyName = "Packages", writable = True Installer.exe: #19: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" Installer.exe: #20: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package" Installer.exe: #21: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" Installer.exe: #22: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin\SQLite.Designer.dll" Installer.exe: #23: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 Installer.exe: #24: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "C:\Windows\system32\mscoree.dll" Installer.exe: #25: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" Installer.exe: #26: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" Installer.exe: #27: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" Installer.exe: #28: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" Installer.exe: #29: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Packages\Toolbox", name = "Default Items", value = 3 Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", subKeyName = "Menus", writable = True Installer.exe: #32: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", subKeyName = "Services", writable = True Installer.exe: #34: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" Installer.exe: #35: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = <null>, value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" Installer.exe: #36: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" Installer.exe: #37: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #38: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = <null> Installer.exe: #39: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #40: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", subKeyName = "DataSources", writable = True Installer.exe: #41: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" Installer.exe: #42: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = <null>, value = "System.Data.SQLite Database File" Installer.exe: #43: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" Installer.exe: #44: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #45: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = <null> Installer.exe: #46: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #47: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0", subKeyName = "DataProviders", writable = True Installer.exe: #48: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" Installer.exe: #49: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite" Installer.exe: #50: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" Installer.exe: #51: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" Installer.exe: #52: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "C:\dev\sqlite\dotnet\bin\2010\Release\bin\SQLite.Designer.dll" Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" Installer.exe: #54: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" Installer.exe: #55: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" Installer.exe: #56: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" Installer.exe: #57: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" Installer.exe: #58: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" Installer.exe: #59: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 20, keyValuesDeleted = 0 |
Added Tests/installer.eagle.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | ############################################################################### # # installer.eagle -- # # Written by Joe Mistachkin. # Released to the public domain, use at your own risk! # ############################################################################### package require Eagle package require EagleLibrary package require EagleTest runTestPrologue ############################################################################### package require System.Data.SQLite.Test runSQLiteTestPrologue ############################################################################### # # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set installerExeFile [getBuildFileName Installer.exe] set testVs2008LogFile [file nativename [file join $path \ Installer_Test_Vs2008.log]] set testVs2010LogFile [file nativename [file join $path \ Installer_Test_Vs2010.log]] # # NOTE: Setup the test constraints specific to the tests in this file. # if {![haveConstraint [appendArgs file_ [file tail $installerExeFile]]]} then { checkForFile $test_channel $installerExeFile } if {![haveConstraint [appendArgs file_ [file tail $testVs2008LogFile]]]} then { checkForFile $test_channel $testVs2008LogFile } if {![haveConstraint [appendArgs file_ [file tail $testVs2010LogFile]]]} then { checkForFile $test_channel $testVs2010LogFile } ############################################################################### runTest {test installer-1.1 {installer tool / Visual Studio 2008} -setup { set fileName [file join [getTemporaryPath] Installer_Test_Vs2008.log] catch {file delete $fileName} } -body { set output "" set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -tracePriority High -installFlags AllNoGAC \ -noNetFx40 true -noVs2010 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] -whatIf true -confirm true } error] tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [readFile $testVs2008LogFile]] : $error}] } -cleanup { catch {file delete $fileName} unset -nocomplain code output error fileName } -constraints \ {eagle visualStudio2008 file_Installer.exe file_Installer_Test_Vs2008.log} \ -result {0 True}} ############################################################################### runTest {test installer-1.2 {installer tool / Visual Studio 2010} -setup { set fileName [file join [getTemporaryPath] Installer_Test_Vs2010.log] catch {file delete $fileName} } -body { set output "" set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -tracePriority High -installFlags AllNoGAC \ -noNetFx20 true -noVs2008 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] -whatIf true -confirm true } error] tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [readFile $testVs2010LogFile]] : $error}] } -cleanup { catch {file delete $fileName} unset -nocomplain code output error fileName } -constraints \ {eagle visualStudio2010 file_Installer.exe file_Installer_Test_Vs2010.log} \ -result {0 True}} ############################################################################### unset -nocomplain testVs2010LogFile testVs2008LogFile installerExeFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue |
Changes to tools/install/Installer.cs.
︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 93 94 | DbProviderFactory = 0x4, VsPackage = 0x8, VsDataSource = 0x10, VsDataProvider = 0x20, Framework = GAC | AssemblyFolders | DbProviderFactory, Vs = VsPackage | VsDataSource | VsDataProvider, All = Framework | Vs, Default = All } /////////////////////////////////////////////////////////////////////////// [Flags()] public enum TracePriority | > | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | DbProviderFactory = 0x4, VsPackage = 0x8, VsDataSource = 0x10, VsDataProvider = 0x20, Framework = GAC | AssemblyFolders | DbProviderFactory, Vs = VsPackage | VsDataSource | VsDataProvider, All = Framework | Vs, AllNoGAC = All & ~GAC, Default = All } /////////////////////////////////////////////////////////////////////////// [Flags()] public enum TracePriority |
︙ | ︙ | |||
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | /////////////////////////////////////////////////////////////////////// #region TraceOps Class private static class TraceOps { #region Private Constants private const string Iso8601DateTimeOutputFormat = "yyyy.MM.ddTHH:mm:ss.fffffff"; #endregion /////////////////////////////////////////////////////////////////// #region Private Static Data private static object syncRoot = new object(); private static long nextId; private static TracePriority tracePriority = TracePriority.Default; #endregion /////////////////////////////////////////////////////////////////// #region Public Static Properties public static TracePriority TracePriority { get { lock (syncRoot) { return tracePriority; } } set { lock (syncRoot) { tracePriority = value; } } } #endregion /////////////////////////////////////////////////////////////////// #region Interactive Support Methods public static string GetAssemblyTitle( Assembly assembly | > > > > > > > > > > > | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | /////////////////////////////////////////////////////////////////////// #region TraceOps Class private static class TraceOps { #region Private Constants private const string DefaultTraceFormat = "#{0} @ {1}: {2}"; private const string Iso8601DateTimeOutputFormat = "yyyy.MM.ddTHH:mm:ss.fffffff"; #endregion /////////////////////////////////////////////////////////////////// #region Private Static Data private static object syncRoot = new object(); private static long nextId; private static TracePriority tracePriority = TracePriority.Default; private static string traceFormat = DefaultTraceFormat; #endregion /////////////////////////////////////////////////////////////////// #region Public Static Properties public static TracePriority TracePriority { get { lock (syncRoot) { return tracePriority; } } set { lock (syncRoot) { tracePriority = value; } } } /////////////////////////////////////////////////////////////////// public static string TraceFormat { get { lock (syncRoot) { return traceFormat; } } set { lock (syncRoot) { traceFormat = value; } } } #endregion /////////////////////////////////////////////////////////////////// #region Interactive Support Methods public static string GetAssemblyTitle( Assembly assembly |
︙ | ︙ | |||
1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 | private Configuration( Assembly assembly, string logFileName, string directory, string coreFileName, string linqFileName, string designerFileName, InstallFlags installFlags, TracePriority tracePriority, bool install, bool noDesktop, bool noCompact, bool noNetFx20, bool noNetFx40, | > | 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 | private Configuration( Assembly assembly, string logFileName, string directory, string coreFileName, string linqFileName, string designerFileName, string traceFormat, InstallFlags installFlags, TracePriority tracePriority, bool install, bool noDesktop, bool noCompact, bool noNetFx20, bool noNetFx40, |
︙ | ︙ | |||
1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 | { this.assembly = assembly; this.logFileName = logFileName; this.directory = directory; this.coreFileName = coreFileName; this.linqFileName = linqFileName; this.designerFileName = designerFileName; this.installFlags = installFlags; this.tracePriority = tracePriority; this.install = install; this.noDesktop = noDesktop; this.noCompact = noCompact; this.noNetFx20 = noNetFx20; this.noNetFx40 = noNetFx40; | > | 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 | { this.assembly = assembly; this.logFileName = logFileName; this.directory = directory; this.coreFileName = coreFileName; this.linqFileName = linqFileName; this.designerFileName = designerFileName; this.traceFormat = traceFormat; this.installFlags = installFlags; this.tracePriority = tracePriority; this.install = install; this.noDesktop = noDesktop; this.noCompact = noCompact; this.noNetFx20 = noNetFx20; this.noNetFx40 = noNetFx40; |
︙ | ︙ | |||
1471 1472 1473 1474 1475 1476 1477 | GetDefaultFileNames( ref directory, ref coreFileName, ref linqFileName, ref designerFileName); return new Configuration(thisAssembly, null, directory, coreFileName, linqFileName, designerFileName, | | | | | 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 | GetDefaultFileNames( ref directory, ref coreFileName, ref linqFileName, ref designerFileName); return new Configuration(thisAssembly, null, directory, coreFileName, linqFileName, designerFileName, TraceOps.TraceFormat, InstallFlags.Default, TracePriority.Default, true, false, true, false, false, false, false, false, false, false, true, true, false); } /////////////////////////////////////////////////////////////////// public static bool FromArgs( string[] args, bool strict, |
︙ | ︙ | |||
1622 1623 1624 1625 1626 1627 1628 | { configuration.linqFileName = text; } else if (MatchOption(newArg, "designerFileName")) { configuration.designerFileName = text; } | | < < < < < < < < < < < < < < < < < | | | 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 | { configuration.linqFileName = text; } else if (MatchOption(newArg, "designerFileName")) { configuration.designerFileName = text; } else if (MatchOption(newArg, "traceFormat")) { configuration.traceFormat = text; TraceOps.TraceFormat = configuration.traceFormat; } else if (MatchOption(newArg, "installFlags")) { object value = ParseEnum( typeof(InstallFlags), text, true); if (value == null) |
︙ | ︙ | |||
1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 | return false; continue; } configuration.installFlags = (InstallFlags)value; } else if (MatchOption(newArg, "install")) { bool? value = ParseBoolean(text); if (value == null) { error = TraceOps.Trace( | > > > > > > > > > > > > > > > > > > > > > > | 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 | return false; continue; } configuration.installFlags = (InstallFlags)value; } else if (MatchOption(newArg, "tracePriority")) { object value = ParseEnum( typeof(TracePriority), text, true); if (value == null) { error = TraceOps.Trace( TracePriority.Lowest, traceCallback, String.Format( "Invalid trace priority value: {0}", ForDisplay(text)), traceCategory); if (strict) return false; continue; } configuration.tracePriority = (TracePriority)value; TraceOps.TracePriority = configuration.tracePriority; } else if (MatchOption(newArg, "install")) { bool? value = ParseBoolean(text); if (value == null) { error = TraceOps.Trace( |
︙ | ︙ | |||
2043 2044 2045 2046 2047 2048 2049 | string location = assembly.Location; TraceOps.Trace( TracePriority.Medium, traceCallback, String.Format( "Original command line is: {0}", Environment.CommandLine), traceCategory); | > > | | | | | < | | | | > > > > > > > > | 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 | string location = assembly.Location; TraceOps.Trace( TracePriority.Medium, traceCallback, String.Format( "Original command line is: {0}", Environment.CommandLine), traceCategory); if (!configuration.whatIf) { // // NOTE: If the debugger is attached and What-If mode // is [now] disabled, issue a warning. // if (Debugger.IsAttached) TraceOps.Trace( TracePriority.Medium, traceCallback, "Forced to disable \"what-if\" mode with " + "debugger attached.", traceCategory); } else { TraceOps.Trace( TracePriority.Higher, traceCallback, "No actual changes will be made to this " + "system because \"what-if\" mode is enabled.", traceCategory); } // // NOTE: If the command line has not been manually // confirmed (i.e. via the explicit command line // option), then stop processing now. We enforce // this rule so that simply double-clicking the |
︙ | ︙ | |||
2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 | traceCallback(String.Format(NameAndValueFormat, "LinqFileName", ForDisplay(linqFileName)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "DesignerFileName", ForDisplay(designerFileName)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "InstallFlags", ForDisplay(installFlags)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "TracePriority", ForDisplay(tracePriority)), | > > > > | 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 | traceCallback(String.Format(NameAndValueFormat, "LinqFileName", ForDisplay(linqFileName)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "DesignerFileName", ForDisplay(designerFileName)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "TraceFormat", ForDisplay(traceFormat)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "InstallFlags", ForDisplay(installFlags)), traceCategory); traceCallback(String.Format(NameAndValueFormat, "TracePriority", ForDisplay(tracePriority)), |
︙ | ︙ | |||
2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 | private string designerFileName; public string DesignerFileName { get { return designerFileName; } set { designerFileName = value; } } /////////////////////////////////////////////////////////////////// private InstallFlags installFlags; public InstallFlags InstallFlags { get { return installFlags; } | > > > > > > > > > | 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 | private string designerFileName; public string DesignerFileName { get { return designerFileName; } set { designerFileName = value; } } /////////////////////////////////////////////////////////////////// private string traceFormat; public string TraceFormat { get { return traceFormat; } set { traceFormat = value; } } /////////////////////////////////////////////////////////////////// private InstallFlags installFlags; public InstallFlags InstallFlags { get { return installFlags; } |
︙ | ︙ | |||
2403 2404 2405 2406 2407 2408 2409 | private const string InvariantName = "System.Data.SQLite"; private const string FactoryTypeName = "System.Data.SQLite.SQLiteFactory"; private const string Description = ".NET Framework Data Provider for SQLite"; /////////////////////////////////////////////////////////////////////// private const string NameAndValueFormat = "{0}: {1}"; | < | 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 | private const string InvariantName = "System.Data.SQLite"; private const string FactoryTypeName = "System.Data.SQLite.SQLiteFactory"; private const string Description = ".NET Framework Data Provider for SQLite"; /////////////////////////////////////////////////////////////////////// private const string NameAndValueFormat = "{0}: {1}"; private const string LogFileSuffix = ".log"; /////////////////////////////////////////////////////////////////////// private static readonly string VsIdFormat = "B"; /////////////////////////////////////////////////////////////////////// |
︙ | ︙ | |||
2483 2484 2485 2486 2487 2488 2489 | private static void AppTrace( string message, string category ) { TraceOps.TraceCore(String.Format( | | | 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 | private static void AppTrace( string message, string category ) { TraceOps.TraceCore(String.Format( TraceOps.TraceFormat, TraceOps.NextId(), TraceOps.TimeStamp(DateTime.UtcNow), message), category); } #endregion /////////////////////////////////////////////////////////////////////// #region Generic String Handling |
︙ | ︙ |