System.Data.SQLite
Check-in [f8e8c3d8dc]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In the design-time components installer, enhance MockRegistryKey class to enable cloning without regard to its safety settings; however, the safety settings are preserved in the clone.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f8e8c3d8dc9acc82ea319200b0efb44560a6971a
User & Date: mistachkin 2017-12-06 23:18:36
Context
2017-12-06
23:53
Further refinements to the design-time components installer in preparation for future enhancements. check-in: 3f2760ab0f user: mistachkin tags: trunk
23:18
In the design-time components installer, enhance MockRegistryKey class to enable cloning without regard to its safety settings; however, the safety settings are preserved in the clone. check-in: f8e8c3d8dc user: mistachkin tags: trunk
22:47
Coding style improvements to the design-time components installer. check-in: 9e4a7c8f46 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tools/install/Installer.cs.

1193
1194
1195
1196
1197
1198
1199















1200
1201
1202
1203
1204
1205
1206
....
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
                CheckDisposed();

                noClose = true;
            }

            ///////////////////////////////////////////////////////////////////
















            public MockRegistryKey CreateSubKey(
                string subKeyName
                )
            {
                CheckDisposed();
                CheckReadOnly();

................................................................................
                    // NOTE: Make sure this copy of the root registry key
                    //       cannot be used to accidentally make registry
                    //       changes.  Also, prevent this MockRegistryKey
                    //       object from closing its underlying registry
                    //       key as we will need it later.  This instance
                    //       will close it.
                    //
                    this.key = new MockRegistryKey(key, true, true, true);

                    key.DisableClose();
                }
                else
                {
                    this.key = null;
                }







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|







1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
....
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
                CheckDisposed();

                noClose = true;
            }

            ///////////////////////////////////////////////////////////////////

            public MockRegistryKey Clone(
                bool whatIf,
                bool readOnly,
                bool safe
                )
            {
                CheckDisposed();

                return new MockRegistryKey(
                    key, this.whatIf || whatIf, this.readOnly || readOnly,
                    this.safe || safe);
            }

            ///////////////////////////////////////////////////////////////////

            public MockRegistryKey CreateSubKey(
                string subKeyName
                )
            {
                CheckDisposed();
                CheckReadOnly();

................................................................................
                    // NOTE: Make sure this copy of the root registry key
                    //       cannot be used to accidentally make registry
                    //       changes.  Also, prevent this MockRegistryKey
                    //       object from closing its underlying registry
                    //       key as we will need it later.  This instance
                    //       will close it.
                    //
                    this.key = key.Clone(true, true, true);

                    key.DisableClose();
                }
                else
                {
                    this.key = null;
                }