Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Format the installer log messages consistently using the ForDisplay method. Delete the temporary log files after running each installer test. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
dfc76406d42267b276560ce4eb5c02bf |
User & Date: | mistachkin 2012-01-01 05:59:37.608 |
Context
2012-01-01
| ||
06:06 | Cleanup log file name variables used by the installer unit tests. check-in: 98632c4b63 user: mistachkin tags: trunk | |
05:59 | Format the installer log messages consistently using the ForDisplay method. Delete the temporary log files after running each installer test. check-in: dfc76406d4 user: mistachkin tags: trunk | |
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 | |
Changes
Changes to Tests/Installer_Test_Vs2008.log.
1 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. | | | | 1 2 3 4 5 6 7 8 9 10 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #3: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" Installer.exe: #4: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #6: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = False Installer.exe: #8: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #10: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" |
︙ | ︙ |
Changes to Tests/Installer_Test_Vs2010.log.
1 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. | | | | 1 2 3 4 5 6 7 8 9 10 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #3: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" Installer.exe: #4: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319", writable = False Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #6: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = False Installer.exe: #8: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True Installer.exe: #10: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" |
︙ | ︙ |
Changes to Tests/Uninstaller_Test_Vs2008.log.
1 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. | | | | 1 2 3 4 5 6 7 8 9 10 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #4: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #6: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = False Installer.exe: #8: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False |
︙ | ︙ |
Changes to Tests/Uninstaller_Test_Vs2010.log.
1 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. | | | | 1 2 3 4 5 6 7 8 9 10 | Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #4: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319", writable = False Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False Installer.exe: #6: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null> Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = False Installer.exe: #8: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework\v4.0.30319", writable = False Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software\Microsoft\.NETFramework", writable = False |
︙ | ︙ |
Changes to Tests/installer.eagle.
︙ | ︙ | |||
82 83 84 85 86 87 88 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2008LogFile]]] : $error}] } -cleanup { | | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2008LogFile]]] : $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}} ############################################################################### |
︙ | ︙ | |||
114 115 116 117 118 119 120 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2008LogFile]]] : $error}] } -cleanup { | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2008LogFile]]] : $error}] } -cleanup { catch {file delete $fileName} unset -nocomplain code output error fileName } -constraints \ {eagle visualStudio2008 file_Installer.exe file_Uninstaller_Test_Vs2008.log} \ -result {0 True}} ############################################################################### |
︙ | ︙ | |||
146 147 148 149 150 151 152 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2010LogFile]]] : $error}] } -cleanup { | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2010LogFile]]] : $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}} ############################################################################### |
︙ | ︙ | |||
178 179 180 181 182 183 184 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2010LogFile]]] : $error}] } -cleanup { | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | tlog "---- BEGIN STDOUT OUTPUT\n" tlog $output tlog "\n---- END STDOUT OUTPUT\n" list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2010LogFile]]] : $error}] } -cleanup { catch {file delete $fileName} unset -nocomplain code output error fileName } -constraints \ {eagle visualStudio2010 file_Installer.exe file_Uninstaller_Test_Vs2010.log} \ -result {0 True}} ############################################################################### |
︙ | ︙ |
Changes to tools/install/Installer.cs.
︙ | ︙ | |||
255 256 257 258 259 260 261 | if (title == null) title = Application.ProductName; result = MessageBox.Show(message, title, buttons, icon); Trace(tracePriority, traceCallback, String.Format( | | > | > | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | if (title == null) title = Application.ProductName; result = MessageBox.Show(message, title, buttons, icon); Trace(tracePriority, traceCallback, String.Format( "User choice of {0}.", ForDisplay(result)), category); return result; } Trace(tracePriority, traceCallback, String.Format( "Default choice of {0}.", ForDisplay(result)), category); return result; } #endregion /////////////////////////////////////////////////////////////////// |
︙ | ︙ | |||
1001 1002 1003 1004 1005 1006 1007 | return null; if (verbose) TraceOps.Trace( writable ? TracePriority.Highest : TracePriority.Higher, traceCallback, String.Format("rootKey = {0}, " + "subKeyName = {1}, writable = {2}", ForDisplay(rootKey), | | > | 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 | return null; if (verbose) TraceOps.Trace( writable ? TracePriority.Highest : TracePriority.Higher, traceCallback, String.Format("rootKey = {0}, " + "subKeyName = {1}, writable = {2}", ForDisplay(rootKey), ForDisplay(subKeyName), ForDisplay(writable)), traceCategory); // // HACK: Always forbid writable access when operating in // 'what-if' mode. // MockRegistryKey key = rootKey.OpenSubKey( subKeyName, whatIf ? false : writable); |
︙ | ︙ | |||
2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 | if (type == typeof(XmlElement)) { XmlElement element = (XmlElement)value; result = element.OuterXml; } else { result = value.ToString(); if (result.Length == 0) return "<empty>"; | > > > > > > | 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 | if (type == typeof(XmlElement)) { XmlElement element = (XmlElement)value; result = element.OuterXml; } else if (type == typeof(Version)) { Version version = (Version)value; result = String.Format("v{0}", version); } else { result = value.ToString(); if (result.Length == 0) return "<empty>"; |
︙ | ︙ | |||
2933 2934 2935 2936 2937 2938 2939 | string directory = GetFrameworkDirectory( rootKey, frameworkVersion, whatIf, verbose); if (String.IsNullOrEmpty(directory)) { TraceOps.Trace( TracePriority.Low, traceCallback, String.Format( | | > | | | | | | | | > | > | | 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 | string directory = GetFrameworkDirectory( rootKey, frameworkVersion, whatIf, verbose); if (String.IsNullOrEmpty(directory)) { TraceOps.Trace( TracePriority.Low, traceCallback, String.Format( ".NET Framework {0} directory is invalid, " + "skipping...", ForDisplay(frameworkVersion)), traceCategory); continue; } directory = Path.Combine(directory, "Config"); if (!Directory.Exists(directory)) { TraceOps.Trace( TracePriority.Low, traceCallback, String.Format( ".NET Framework {0} directory {1} does not exist, " + "skipping...", ForDisplay(frameworkVersion), ForDisplay(directory)), traceCategory); continue; } string fileName = Path.Combine(directory, "machine.config"); if (!File.Exists(fileName)) { TraceOps.Trace( TracePriority.Low, traceCallback, String.Format( ".NET Framework {0} file {1} does not exist, " + "skipping...", ForDisplay(frameworkVersion), ForDisplay(fileName)), traceCategory); continue; } bool localSaved = false; if (!callback( fileName, invariant, name, description, typeName, assemblyName, clientData, whatIf, verbose, ref localSaved, ref error)) { return false; } else { if (localSaved && !saved) saved = true; if (verbose) TraceOps.Trace( TracePriority.Lowest, traceCallback, String.Format( "localSaved = {0}, saved = {1}", ForDisplay(localSaved), ForDisplay(saved)), traceCategory); } } } return true; } |
︙ | ︙ | |||
4277 4278 4279 4280 4281 4282 4283 | { if (!configuration.WhatIf) publish.GacInstall(configuration.CoreFileName); /* throw */ TraceOps.Trace( TracePriority.Highest, traceCallback, String.Format( "GacInstall: assemblyPath = {0}", | | | | | | 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 | { if (!configuration.WhatIf) publish.GacInstall(configuration.CoreFileName); /* throw */ TraceOps.Trace( TracePriority.Highest, traceCallback, String.Format( "GacInstall: assemblyPath = {0}", ForDisplay(configuration.CoreFileName)), traceCategory); if (!configuration.WhatIf) publish.GacInstall(configuration.LinqFileName); /* throw */ TraceOps.Trace( TracePriority.Highest, traceCallback, String.Format( "GacInstall: assemblyPath = {0}", ForDisplay(configuration.LinqFileName)), traceCategory); } else { if (!configuration.WhatIf) publish.GacRemove(configuration.LinqFileName); /* throw */ TraceOps.Trace( TracePriority.Highest, traceCallback, String.Format( "GacRemove: assemblyPath = {0}", ForDisplay(configuration.LinqFileName)), traceCategory); if (!configuration.WhatIf) publish.GacRemove(configuration.CoreFileName); /* throw */ TraceOps.Trace( TracePriority.Highest, traceCallback, String.Format( "GacRemove: assemblyPath = {0}", ForDisplay(configuration.CoreFileName)), traceCategory); } } #endregion /////////////////////////////////////////////////////////////////// #region .NET AssemblyFolders |
︙ | ︙ | |||
4419 4420 4421 4422 4423 4424 4425 | /////////////////////////////////////////////////////////////////// TraceOps.Trace( TracePriority.Higher, traceCallback, String.Format( "subKeysCreated = {0}, subKeysDeleted = {1}, " + "keyValuesSet = {2}, keyValuesDeleted = {3}", | | > > | | 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 | /////////////////////////////////////////////////////////////////// TraceOps.Trace( TracePriority.Higher, traceCallback, String.Format( "subKeysCreated = {0}, subKeysDeleted = {1}, " + "keyValuesSet = {2}, keyValuesDeleted = {3}", ForDisplay(RegistryHelper.SubKeysCreated), ForDisplay(RegistryHelper.SubKeysDeleted), ForDisplay(RegistryHelper.KeyValuesSet), ForDisplay(RegistryHelper.KeyValuesDeleted)), traceCategory); /////////////////////////////////////////////////////////////////// return 0; } #endregion } #endregion } |