Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | In 'what-if' mode, always assume the EF6 assembly is available. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | newNs |
Files: | files | file ages | folders |
SHA1: |
ce06d9e6168f77e647be569a93a6dd05 |
User & Date: | mistachkin 2014-01-12 09:57:53.578 |
Context
2014-01-12
| ||
10:26 | Update design-time installer test results to account for EF6 and remove the 'what-if' mode adjustment from the previous check-in. Closed-Leaf check-in: 5baa17100f user: mistachkin tags: newNs | |
09:57 | In 'what-if' mode, always assume the EF6 assembly is available. check-in: ce06d9e616 user: mistachkin tags: newNs | |
09:33 | Start modifying the VS design-time installer to support EF6. check-in: d28c029621 user: mistachkin tags: newNs | |
Changes
Changes to tools/install/Installer.cs.
︙ | ︙ | |||
1137 1138 1139 1140 1141 1142 1143 | return null; if (whatIf) { // // HACK: Attempt to open the specified sub-key. If this // fails, we will simply return the wrapped root key | | | 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 | return null; if (whatIf) { // // HACK: Attempt to open the specified sub-key. If this // fails, we will simply return the wrapped root key // itself since no writes are allowed in "what-if" // mode anyhow. // RegistryKey subKey = key.OpenSubKey(subKeyName); return (subKey != null) ? new MockRegistryKey( subKey, whatIf, readOnly, safe) : |
︙ | ︙ | |||
1386 1387 1388 1389 1390 1391 1392 | } #endregion /////////////////////////////////////////////////////////////////// #region Implicit Conversion Operators // | | | 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 | } #endregion /////////////////////////////////////////////////////////////////// #region Implicit Conversion Operators // // BUGBUG: Remove me? This should be safe because in "what-if" // mode all keys are opened read-only. // public static implicit operator RegistryKey( MockRegistryKey key ) { return (key != null) ? key.Key : null; |
︙ | ︙ | |||
1526 1527 1528 1529 1530 1531 1532 | debugCallback, traceCallback, String.Format( "rootKey = {0}, subKeyName = {1}, writable = {2}", ForDisplay(rootKey), ForDisplay(subKeyName), ForDisplay(writable)), traceCategory); // // HACK: Always forbid writable access when operating in | | | 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 | debugCallback, 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); return (key != null) ? new MockRegistryKey(key, whatIf, false, false) : null; } |
︙ | ︙ | |||
1559 1560 1561 1562 1563 1564 1565 | ForDisplay(rootKey), ForDisplay(subKeyName)), traceCategory); try { // // HACK: Always open a key, rather than creating one when | | | | 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 | ForDisplay(rootKey), ForDisplay(subKeyName)), traceCategory); try { // // HACK: Always open a key, rather than creating one when // operating in "what-if" mode. // if (whatIf) { // // HACK: Attempt to open the specified sub-key. If // this fails, we will simply return the root // key itself since no writes are allowed in // "what-if" mode anyhow. // MockRegistryKey key = rootKey.OpenSubKey(subKeyName); return (key != null) ? key : new MockRegistryKey( rootKey, subKeyName, whatIf, false, false); } |
︙ | ︙ | |||
2121 2122 2123 2124 2125 2126 2127 | } return null; } /////////////////////////////////////////////////////////////////// | | > > | 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 | } return null; } /////////////////////////////////////////////////////////////////// private static bool IsEf6AssemblyAvailable( bool whatIf ) { try { Assembly assembly = Assembly.ReflectionOnlyLoad( Ef6AssemblyName); if (assembly != null) |
︙ | ︙ | |||
2148 2149 2150 2151 2152 2153 2154 | } TraceOps.DebugAndTrace(TracePriority.Highest, debugCallback, traceCallback, "Entity Framework 6 assembly was not resolved.", traceCategory); | > > > > | | 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 | } TraceOps.DebugAndTrace(TracePriority.Highest, debugCallback, traceCallback, "Entity Framework 6 assembly was not resolved.", traceCategory); // // HACK: In "what-if" mode, we always return true here so // that those code paths can be tested. // return whatIf; } #endregion /////////////////////////////////////////////////////////////////// #region Public Static Methods public static Configuration CreateDefault() |
︙ | ︙ | |||
3111 3112 3113 3114 3115 3116 3117 | debugCallback, traceCallback, String.Format( "Running process is {0}.", Is64BitProcess() ? "64-bit" : "32-bit"), traceCategory); if (!configuration.whatIf) { // | | | | 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 | debugCallback, traceCallback, String.Format( "Running process is {0}.", Is64BitProcess() ? "64-bit" : "32-bit"), traceCategory); if (!configuration.whatIf) { // // NOTE: If the debugger is attached and "what-if" // mode is [now] disabled, issue a warning. // if (Debugger.IsAttached) TraceOps.DebugAndTrace(TracePriority.MediumHigh, debugCallback, traceCallback, "Forced to disable \"what-if\" mode with " + "debugger attached.", traceCategory); } |
︙ | ︙ | |||
3330 3331 3332 3333 3334 3335 3336 | // Studio 2008, this must return zero. Also, if // the EF6 core assembly is unavailable, this must // return zero. // if (noNetFx40 && noNetFx45 && noNetFx451) return false; | | | 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 | // Studio 2008, this must return zero. Also, if // the EF6 core assembly is unavailable, this must // return zero. // if (noNetFx40 && noNetFx45 && noNetFx451) return false; return IsEf6AssemblyAvailable(whatIf); } /////////////////////////////////////////////////////////////////// public void Dump( TraceCallback traceCallback ) |
︙ | ︙ | |||
6388 6389 6390 6391 6392 6393 6394 | if (verbose) TraceOps.DebugAndTrace(TracePriority.Highest, debugCallback, traceCallback, ForDisplay(startInfo), traceCategory); // | | | 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 | if (verbose) TraceOps.DebugAndTrace(TracePriority.Highest, debugCallback, traceCallback, ForDisplay(startInfo), traceCategory); // // NOTE: In "what-if" mode, do not actually start the process. // if (!whatIf) { process.Start(); if (verbose) TraceOps.DebugAndTrace(TracePriority.Highest, |
︙ | ︙ |