System.Data.SQLite
Check-in [25ffa9639b]
Not logged in

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

Overview
Comment:Stub in support for the .NET Framework 4.5.2. Fix OR-operator (bitwise instead of logical) typo in the design-time installer.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | vs2015
Files: files | file ages | folders
SHA1: 25ffa9639b3e92509a2218bbb7f88f0ba8c3dd52
User & Date: mistachkin 2015-07-21 21:42:49
Context
2015-07-21
22:53
Update version history docs and the master release archive manifest. Closed-Leaf check-in: 3504f036be user: mistachkin tags: vs2015
21:42
Stub in support for the .NET Framework 4.5.2. Fix OR-operator (bitwise instead of logical) typo in the design-time installer. check-in: 25ffa9639b user: mistachkin tags: vs2015
21:14
Fix test suite infrastructure handling of the EntityFramework assembly when running for the .NET Framework 4.6. check-in: b4d6229fa0 user: mistachkin tags: vs2015
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Setup/data/SQLite.iss.

124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177

#if Year != "2005" && Year != "2008"
Components: Application\EF6; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif

#if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86"
#if Year == "2005"
Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2008"
Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2010"
Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2012"
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2013"
Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2015"
Components: {#InstallerCondition}; Tasks: gac\vs2015; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#endif
 
[UninstallRun]
#if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86"
#if Year == "2015"
Components: {#InstallerCondition}; Tasks: gac\vs2015; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2013"
Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2012"
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2010"
Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2008"
Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2005"
Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#endif

#if Year != "2005" && Year != "2008"
Components: Application\EF6; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif








|


|


|


|
|


|


|






|


|


|
|


|


|


|







124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177

#if Year != "2005" && Year != "2008"
Components: Application\EF6; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif

#if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86"
#if Year == "2005"
Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2008"
Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2010"
Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2012"
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2013"
Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2015"
Components: {#InstallerCondition}; Tasks: gac\vs2015; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#endif
 
[UninstallRun]
#if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86"
#if Year == "2015"
Components: {#InstallerCondition}; Tasks: gac\vs2015; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2013"
Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2012"
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2010"
Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif
#if Year == "2008"
Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#if Year == "2005"
Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
#endif
#endif

#if Year != "2005" && Year != "2008"
Components: Application\EF6; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
#endif

Changes to Setup/data/verify.lst.

314
315
316
317
318
319
320

321
322
323
324
325
326
327
  Setup/set_Debug_x86_2013.bat
  Setup/set_Debug_x86_2015.bat
  Setup/set_netFx20.bat
  Setup/set_netFx35.bat
  Setup/set_netFx40.bat
  Setup/set_netFx45.bat
  Setup/set_netFx451.bat

  Setup/set_Release.bat
  Setup/set_ReleaseNativeOnly.bat
  "Setup/set_ReleaseNativeOnly_CEPC DevPlatform.bat"
  "Setup/set_ReleaseNativeOnly_Pocket PC 2003 (ARMV4).bat"
  "Setup/set_ReleaseNativeOnly_ARMV7.bat"
  Setup/set_ReleaseNativeOnly_Win32.bat
  Setup/set_ReleaseNativeOnly_x64.bat







>







314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
  Setup/set_Debug_x86_2013.bat
  Setup/set_Debug_x86_2015.bat
  Setup/set_netFx20.bat
  Setup/set_netFx35.bat
  Setup/set_netFx40.bat
  Setup/set_netFx45.bat
  Setup/set_netFx451.bat
  Setup/set_netFx452.bat
  Setup/set_Release.bat
  Setup/set_ReleaseNativeOnly.bat
  "Setup/set_ReleaseNativeOnly_CEPC DevPlatform.bat"
  "Setup/set_ReleaseNativeOnly_Pocket PC 2003 (ARMV4).bat"
  "Setup/set_ReleaseNativeOnly_ARMV7.bat"
  Setup/set_ReleaseNativeOnly_Win32.bat
  Setup/set_ReleaseNativeOnly_x64.bat

Changes to Setup/set_2005.bat.

8
9
10
11
12
13
14

15
16
17
18
::

SET NETFX20ONLY=1
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=

SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL







>




8
9
10
11
12
13
14
15
16
17
18
19
::

SET NETFX20ONLY=1
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=
SET NETFX452ONLY=
SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL

Changes to Setup/set_2008.bat.

8
9
10
11
12
13
14

15
16
17
18
::

SET NETFX20ONLY=
SET NETFX35ONLY=1
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=

SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL







>




8
9
10
11
12
13
14
15
16
17
18
19
::

SET NETFX20ONLY=
SET NETFX35ONLY=1
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=
SET NETFX452ONLY=
SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL

Changes to Setup/set_2010.bat.

8
9
10
11
12
13
14

15
16
17
18
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=1
SET NETFX45ONLY=
SET NETFX451ONLY=

SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL







>




8
9
10
11
12
13
14
15
16
17
18
19
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=1
SET NETFX45ONLY=
SET NETFX451ONLY=
SET NETFX452ONLY=
SET NETFX46ONLY=
SET BUILD_ARGS=

VERIFY > NUL

Changes to Setup/set_2012.bat.

8
9
10
11
12
13
14

15
16
17
18
19
20
21
22
23
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=1
SET NETFX451ONLY=

SET NETFX46ONLY=

REM
REM HACK: Evidently, installing Visual Studio 2013 breaks using MSBuild to
REM       build native projects that specify a platform toolset of "v110".
REM
SET BUILD_ARGS=/property:VisualStudioVersion=11.0

VERIFY > NUL







>









8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=1
SET NETFX451ONLY=
SET NETFX452ONLY=
SET NETFX46ONLY=

REM
REM HACK: Evidently, installing Visual Studio 2013 breaks using MSBuild to
REM       build native projects that specify a platform toolset of "v110".
REM
SET BUILD_ARGS=/property:VisualStudioVersion=11.0

VERIFY > NUL

Changes to Setup/set_2013.bat.

8
9
10
11
12
13
14

15
16
17
18
19
20
21
22
23
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=1

SET NETFX46ONLY=

REM
REM HACK: Evidently, using MSBuild with Visual Studio 2013 requires some
REM       extra magic to make it recognize the "v120" platform toolset.
REM
SET BUILD_ARGS=/property:VisualStudioVersion=12.0

VERIFY > NUL







>









8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=1
SET NETFX452ONLY=
SET NETFX46ONLY=

REM
REM HACK: Evidently, using MSBuild with Visual Studio 2013 requires some
REM       extra magic to make it recognize the "v120" platform toolset.
REM
SET BUILD_ARGS=/property:VisualStudioVersion=12.0

VERIFY > NUL

Changes to Setup/set_2015.bat.

8
9
10
11
12
13
14

15
16
17
18
19
20
21
22
23
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=

SET NETFX46ONLY=1

REM
REM HACK: Evidently, using MSBuild with Visual Studio 2015 requires some
REM       extra magic to make it recognize the "v140" platform toolset.
REM
SET BUILD_ARGS=/property:VisualStudioVersion=14.0

VERIFY > NUL







>









8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
::

SET NETFX20ONLY=
SET NETFX35ONLY=
SET NETFX40ONLY=
SET NETFX45ONLY=
SET NETFX451ONLY=
SET NETFX452ONLY=
SET NETFX46ONLY=1

REM
REM HACK: Evidently, using MSBuild with Visual Studio 2015 requires some
REM       extra magic to make it recognize the "v140" platform toolset.
REM
SET BUILD_ARGS=/property:VisualStudioVersion=14.0

VERIFY > NUL

Changes to Setup/set_common.bat.

73
74
75
76
77
78
79

80
81
82
83
84
85
86

IF NOT DEFINED FRAMEWORK2012 (
  SET FRAMEWORK2012=netFx45
)

IF NOT DEFINED FRAMEWORK2013 (
  SET FRAMEWORK2013=netFx451

)

IF NOT DEFINED FRAMEWORK2015 (
  SET FRAMEWORK2015=netFx46
)

IF DEFINED YEARS GOTO end_of_file







>







73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

IF NOT DEFINED FRAMEWORK2012 (
  SET FRAMEWORK2012=netFx45
)

IF NOT DEFINED FRAMEWORK2013 (
  SET FRAMEWORK2013=netFx451
  REM SET FRAMEWORK2013=netFx452
)

IF NOT DEFINED FRAMEWORK2015 (
  SET FRAMEWORK2015=netFx46
)

IF DEFINED YEARS GOTO end_of_file

Added Setup/set_netFx452.bat.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
@ECHO OFF

::
:: set_netFx452.bat --
::
:: Written by Joe Mistachkin.
:: Released to the public domain, use at your own risk!
::

IF NOT DEFINED ISNETFX2 (
  SET ISNETFX2=False
)

IF NOT DEFINED VCRUNTIME (
  SET VCRUNTIME=2013_VSU2
)

IF NOT DEFINED CONFIGURATION (
  SET CONFIGURATION=Release
)

IF NOT DEFINED PLATFORM (
  SET PLATFORM=Win32
)

IF NOT DEFINED PROCESSOR (
  SET PROCESSOR=x86
)

IF NOT DEFINED YEAR (
  SET YEAR=2013
)

IF NOT DEFINED FRAMEWORK (
  SET FRAMEWORK=netFx452
)

:end_of_file

Changes to System.Data.SQLite/Targets/System.Data.SQLite.Files.targets.

73
74
75
76
77
78
79

80
81
82
83
84
85
86
87

88
89
90
91
92
93
94

  <ItemGroup Condition="'$(IsCompactFramework)' == 'false'">
    <Compile Include="SQLiteEnlistment.cs" />
    <Compile Condition="'$(NetFx35)' != 'false' Or
                        '$(NetFx40)' != 'false' Or
                        '$(NetFx45)' != 'false' Or
                        '$(NetFx451)' != 'false' Or

                        '$(NetFx46)' != 'false'"
             Include="LINQ\SQLiteConnection_Linq.cs">
      <SubType>Component</SubType>
    </Compile>
    <Compile Condition="'$(NetFx35)' != 'false' Or
                        '$(NetFx40)' != 'false' Or
                        '$(NetFx45)' != 'false' Or
                        '$(NetFx451)' != 'false' Or

                        '$(NetFx46)' != 'false'"
             Include="LINQ\SQLiteFactory_Linq.cs">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="Resources\SQLiteCommand.bmp" />
    <EmbeddedResource Include="Resources\SQLiteConnection.bmp" />
    <EmbeddedResource Include="Resources\SQLiteDataAdapter.bmp" />







>








>







73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

  <ItemGroup Condition="'$(IsCompactFramework)' == 'false'">
    <Compile Include="SQLiteEnlistment.cs" />
    <Compile Condition="'$(NetFx35)' != 'false' Or
                        '$(NetFx40)' != 'false' Or
                        '$(NetFx45)' != 'false' Or
                        '$(NetFx451)' != 'false' Or
                        '$(NetFx452)' != 'false' Or
                        '$(NetFx46)' != 'false'"
             Include="LINQ\SQLiteConnection_Linq.cs">
      <SubType>Component</SubType>
    </Compile>
    <Compile Condition="'$(NetFx35)' != 'false' Or
                        '$(NetFx40)' != 'false' Or
                        '$(NetFx45)' != 'false' Or
                        '$(NetFx451)' != 'false' Or
                        '$(NetFx452)' != 'false' Or
                        '$(NetFx46)' != 'false'"
             Include="LINQ\SQLiteFactory_Linq.cs">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="Resources\SQLiteCommand.bmp" />
    <EmbeddedResource Include="Resources\SQLiteConnection.bmp" />
    <EmbeddedResource Include="Resources\SQLiteDataAdapter.bmp" />

Changes to System.Data.SQLite/Targets/System.Data.SQLite.Properties.targets.

58
59
60
61
62
63
64











65
66
67
68
69
70
71
            Framework 4.5.1 (if necessary, it will typically be enabled from
            within the project file itself).
  -->
  <PropertyGroup Condition="'$(NetFx451)' != 'false'">
    <DefineConstants>$(DefineConstants);NET_451</DefineConstants>
  </PropertyGroup>












  <!--
      NOTE: Only use functionality available in the .NET Framework 4.6?  By
            default, this is disabled.  This must be enabled to successfully
            build the project using Visual Studio 2015 and/or the .NET
            Framework 4.6 (if necessary, it will typically be enabled from
            within the project file itself).
  -->







>
>
>
>
>
>
>
>
>
>
>







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
            Framework 4.5.1 (if necessary, it will typically be enabled from
            within the project file itself).
  -->
  <PropertyGroup Condition="'$(NetFx451)' != 'false'">
    <DefineConstants>$(DefineConstants);NET_451</DefineConstants>
  </PropertyGroup>

  <!--
      NOTE: Only use functionality available in the .NET Framework 4.5.2?  By
            default, this is disabled.  This must be enabled to successfully
            build the project using Visual Studio 2013 and/or the .NET
            Framework 4.5.2 (if necessary, it will typically be enabled from
            within the project file itself).
  -->
  <PropertyGroup Condition="'$(NetFx452)' != 'false'">
    <DefineConstants>$(DefineConstants);NET_452</DefineConstants>
  </PropertyGroup>

  <!--
      NOTE: Only use functionality available in the .NET Framework 4.6?  By
            default, this is disabled.  This must be enabled to successfully
            build the project using Visual Studio 2015 and/or the .NET
            Framework 4.6 (if necessary, it will typically be enabled from
            within the project file itself).
  -->

Changes to Targets/SQLite.NET.Settings.targets.

52
53
54
55
56
57
58





59
60
61
62
63
64
65
...
145
146
147
148
149
150
151









152
153
154
155
156
157
158
...
204
205
206
207
208
209
210










211
212
213
214
215
216
217
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx45')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451"
          Condition="'$(NetFx451)' != '' And '$(NetFx451)' != 'false' And
                     ('$(NetFx451Settings)' == '' Or '$(NetFx451Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451')" />






  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46"
          Condition="'$(NetFx46)' != '' And '$(NetFx46)' != 'false' And
                     ('$(NetFx46Settings)' == '' Or '$(NetFx46Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46')" />

  <!--
  ******************************************************************************
................................................................................
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2013 and/or the .NET
              Framework 4.5.1 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx451 Condition="'$(NetFx451)' == ''">false</NetFx451>










    <!--
        NOTE: Only use functionality available in the .NET Framework 4.6?  By
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2015 and/or the .NET
              Framework 4.6 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
................................................................................
              for the .NET Framework 4.5.1, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx451" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx451Settings Condition="'$(NetFx451Settings)' == ''">false</NetFx451Settings>











    <!--
        NOTE: Load the version-specific settings for the .NET Framework 4.6?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.6, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx46" will be loaded if it is
              actually present, before any other settings in this file are
              processed.







>
>
>
>
>







 







>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
...
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx45')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451"
          Condition="'$(NetFx451)' != '' And '$(NetFx451)' != 'false' And
                     ('$(NetFx451Settings)' == '' Or '$(NetFx451Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx452"
          Condition="'$(NetFx452)' != '' And '$(NetFx452)' != 'false' And
                     ('$(NetFx452Settings)' == '' Or '$(NetFx452Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx452')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46"
          Condition="'$(NetFx46)' != '' And '$(NetFx46)' != 'false' And
                     ('$(NetFx46Settings)' == '' Or '$(NetFx46Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46')" />

  <!--
  ******************************************************************************
................................................................................
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2013 and/or the .NET
              Framework 4.5.1 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx451 Condition="'$(NetFx451)' == ''">false</NetFx451>

    <!--
        NOTE: Only use functionality available in the .NET Framework 4.5.2?  By
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2013 and/or the .NET
              Framework 4.5.2 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx452 Condition="'$(NetFx452)' == ''">false</NetFx452>

    <!--
        NOTE: Only use functionality available in the .NET Framework 4.6?  By
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2015 and/or the .NET
              Framework 4.6 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
................................................................................
              for the .NET Framework 4.5.1, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx451" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx451Settings Condition="'$(NetFx451Settings)' == ''">false</NetFx451Settings>

    <!--
        NOTE: Load the version-specific settings for the .NET Framework 4.5.2?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.5.2, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx452" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx452Settings Condition="'$(NetFx452Settings)' == ''">false</NetFx452Settings>

    <!--
        NOTE: Load the version-specific settings for the .NET Framework 4.6?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.6, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx46" will be loaded if it is
              actually present, before any other settings in this file are
              processed.

Changes to Targets/SQLite.NET.Settings.targets.netFx35.

11
12
13
14
15
16
17

18
19
20
21
22
23
24
                            '$(ConfigurationYear)' != '2005' And
                            '$(ConfigurationYear)' != '2008'">
    <NetFx20>true</NetFx20>
    <NetFx35>true</NetFx35>
    <NetFx40>false</NetFx40>
    <NetFx45>false</NetFx45>
    <NetFx451>false</NetFx451>

    <NetFx46>false</NetFx46>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
</Project>







>







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
                            '$(ConfigurationYear)' != '2005' And
                            '$(ConfigurationYear)' != '2008'">
    <NetFx20>true</NetFx20>
    <NetFx35>true</NetFx35>
    <NetFx40>false</NetFx40>
    <NetFx45>false</NetFx45>
    <NetFx451>false</NetFx451>
    <NetFx452>false</NetFx452>
    <NetFx46>false</NetFx46>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
</Project>

Changes to Tests/installer.eagle.

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
..
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
...
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
...
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
...
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
...
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
...
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
...
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
...
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
...
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
...
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx35 true \
        -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true \
        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx35 true \
        -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx46 true \
        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx40 true \
        -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true \
        -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true \
        -whatIf true -verbose true -confirm true -install true -debug true \
        -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx40 true \
        -noNetFx45 true -noNetFx451 true -noNetFx46 true -noVs2005 true \
        -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true \
        -whatIf true -verbose true -confirm true -install false -debug true \
        -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx46 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2013 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
        -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2013 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|
|







 







|
|
|







 







|
|
|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
..
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
...
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
...
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
...
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
...
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
...
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
...
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
...
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
...
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
...
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx35 true \
        -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install true -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx35 true \
        -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2008 true -noVs2010 true -noVs2012 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install false -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx40 true \
        -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true \
        -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install true -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx40 true \
        -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true \
        -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true \
        -noVs2015 true -whatIf true -verbose true -confirm true \
        -install false -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install true -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2012 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install false -debug true -wow64 true \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
  tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2012 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
} -body {
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx452 true \
        -noNetFx46 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2012 true -noVs2015 true -whatIf true -verbose true \
        -confirm true -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
        -noNetFx452 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2012 true -noVs2013 true -whatIf true -verbose true \
        -confirm true -install true -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output
................................................................................
  set output ""

  set code [catch {
    testClrExec $installerExeFile [list -eventflags Wait -stdout output \
        -success 0] -debugPriority Lowest -tracePriority MediumHigh \
        -noRuntimeVersion true -noCompact true -noNetFx20 true \
        -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
        -noNetFx452 true -noVs2005 true -noVs2008 true -noVs2010 true \
        -noVs2012 true -noVs2013 true -whatIf true -verbose true \
        -confirm true -install false -debug true -wow64 true \
        -configVersion 4.0.30319 \
        -logFileName [appendArgs \" [file nativename $fileName] \"] \
        -traceFormat [appendArgs \" "#{0}: {2}" \"]
  } error]

  tlog "---- BEGIN STDOUT OUTPUT\n"
  tlog $output

Changes to Tests/tkt-a4d9c7ee94.eagle.

53
54
55
56
57
58
59
60


61
62
63
64
65
66
67
  set result
} -cleanup {
  unset -nocomplain code output error result
} -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
-constraintExpression {[haveConstraint buildFramework.netFx40] || \
[haveConstraint buildFramework.netFx45] || \
[haveConstraint buildFramework.netFx451]} \


-result {0 {1581 1730 1833 2116 2139 2184 2903 3049 3801 6897 7960 8837 10019\
10038 11747 14450 19428 19713 20852 27403 27511 29202 30346 31406 32859 33607\
40222 44122 45839 48075 48084 48304 53404 55113 55439 60179 60601 72716 75234\
78759 80202 80909 85014 85251 90405 94025 94105 95008 95054 95060 98004 98052\
98104}}}

###############################################################################







|
>
>







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  set result
} -cleanup {
  unset -nocomplain code output error result
} -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
-constraintExpression {[haveConstraint buildFramework.netFx40] || \
[haveConstraint buildFramework.netFx45] || \
[haveConstraint buildFramework.netFx451] || \
[haveConstraint buildFramework.netFx452] || \
[haveConstraint buildFramework.netFx46]} \
-result {0 {1581 1730 1833 2116 2139 2184 2903 3049 3801 6897 7960 8837 10019\
10038 11747 14450 19428 19713 20852 27403 27511 29202 30346 31406 32859 33607\
40222 44122 45839 48075 48084 48304 53404 55113 55439 60179 60601 72716 75234\
78759 80202 80909 85014 85251 90405 94025 94105 95008 95054 95060 98004 98052\
98104}}}

###############################################################################

Changes to lib/System.Data.SQLite/common.eagle.

191
192
193
194
195
196
197

198
199
200
201
202
203
204
....
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
            return netFx40
          }
          2012 {
            return netFx45
          }
          2013 {
            return netFx451

          }
          2015 {
            return netFx46
          }
          default {
            return netFx35; # TODO: Good "fallback" default?
          }
................................................................................
        #
        # NOTE: Build the list of external files that we handle.  Some of
        #       these files may be native and/or managed assemblies that are
        #       required to perform various tests.
        #
        set externalFileNames [list \
            [file join EntityFramework lib [string map [list Fx ""] [string \
            map [list netFx451 netFx45 netFx46 netFx45] [getBuildNetFx]]] \
            EntityFramework.dll]]

        #
        # NOTE: Build the list of native assembly files that we handle.  The
        #       reason the "System.Data.SQLite.dll" file is included here is
        #       because it could be the mixed-mode assembly.
        #
        set nativeFileNames [list \







>







 







|
|







191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
....
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
            return netFx40
          }
          2012 {
            return netFx45
          }
          2013 {
            return netFx451
            # return netFx452
          }
          2015 {
            return netFx46
          }
          default {
            return netFx35; # TODO: Good "fallback" default?
          }
................................................................................
        #
        # NOTE: Build the list of external files that we handle.  Some of
        #       these files may be native and/or managed assemblies that are
        #       required to perform various tests.
        #
        set externalFileNames [list \
            [file join EntityFramework lib [string map [list Fx ""] [string \
            map [list netFx451 netFx45 netFx452 netFx45 netFx46 netFx45] \
            [getBuildNetFx]]] EntityFramework.dll]]

        #
        # NOTE: Build the list of native assembly files that we handle.  The
        #       reason the "System.Data.SQLite.dll" file is included here is
        #       because it could be the mixed-mode assembly.
        #
        set nativeFileNames [list \

Changes to tools/install/Installer.cs.

2047
2048
2049
2050
2051
2052
2053

2054
2055
2056
2057
2058
2059
2060
....
2091
2092
2093
2094
2095
2096
2097

2098
2099
2100
2101
2102
2103
2104
....
2294
2295
2296
2297
2298
2299
2300
2301

2302
2303
2304
2305
2306
2307
2308
....
2791
2792
2793
2794
2795
2796
2797





















2798
2799
2800
2801
2802
2803
2804
....
3435
3436
3437
3438
3439
3440
3441

3442
3443
3444
3445
3446
3447
3448
....
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
....
3686
3687
3688
3689
3690
3691
3692

3693

3694

3695
3696
3697
3698
3699
3700
3701
....
3957
3958
3959
3960
3961
3962
3963




3964
3965
3966
3967
3968
3969
3970
....
4403
4404
4405
4406
4407
4408
4409









4410
4411
4412
4413
4414
4415
4416
....
5155
5156
5157
5158
5159
5160
5161








5162
5163
5164
5165
5166
5167
5168
                bool noDesktop,
                bool noCompact,
                bool noNetFx20,
                bool noNetFx35,
                bool noNetFx40,
                bool noNetFx45,
                bool noNetFx451,

                bool noNetFx46,
                bool noVs2005,
                bool noVs2008,
                bool noVs2010,
                bool noVs2012,
                bool noVs2013,
                bool noVs2015,
................................................................................
                this.noDesktop = noDesktop;
                this.noCompact = noCompact;
                this.noNetFx20 = noNetFx20;
                this.noNetFx35 = noNetFx35;
                this.noNetFx40 = noNetFx40;
                this.noNetFx45 = noNetFx45;
                this.noNetFx451 = noNetFx451;

                this.noNetFx46 = noNetFx46;
                this.noVs2005 = noVs2005;
                this.noVs2008 = noVs2008;
                this.noVs2010 = noVs2010;
                this.noVs2012 = noVs2012;
                this.noVs2013 = noVs2013;
                this.noVs2015 = noVs2015;
................................................................................
                    thisAssembly, null, directory, coreFileName, linqFileName,
                    ef6FileName, designerFileName, null, null, null,
                    TraceOps.DebugFormat, TraceOps.TraceFormat,
                    InstallFlags.Default, ProviderFlags.Default,
                    TracePriority.Default, TracePriority.Default, false, true,
                    false, false, false, false, false, false, false, false,
                    false, false, false, false, false, false, false, false,
                    false, false, false, true, true, false, false, false);

            }

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

            [MethodImpl(MethodImplOptions.NoInlining)]
            public static bool FromArgs(
                string[] args,
................................................................................
                                if (strict)
                                    return false;

                                continue;
                            }

                            configuration.noNetFx451 = (bool)value;





















                        }
                        else if (MatchOption(newArg, "noNetFx46"))
                        {
                            bool? value = ParseBoolean(text);

                            if (value == null)
                            {
................................................................................
                        //       assembly compiled with the CLR v2.0; however,
                        //       since this project offers both configurations,
                        //       we currently disallow this mismatch.
                        //
                        configuration.noNetFx40 = true;
                        configuration.noNetFx45 = true;
                        configuration.noNetFx451 = true;

                        configuration.noNetFx46 = true;
                        configuration.noVs2010 = true;
                        configuration.noVs2012 = true;
                        configuration.noVs2013 = true;
                        configuration.noVs2015 = true;

                        TraceOps.DebugAndTrace(TracePriority.Medium,
................................................................................
                //
                // NOTE: Return non-zero if the System.Data.SQLite.Linq
                //       assembly should be processed during the install.
                //       If the target is Visual Studio 2005, this must
                //       return zero.
                //
                return !noNetFx35 || !noNetFx40 || !noNetFx45 ||
                    !noNetFx451 | !noNetFx46;
            }

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

            public bool IsEf6Supported(
                bool trace
                )
................................................................................

                //
                // NOTE: Return non-zero if the System.Data.SQLite.EF6
                //       assembly should be processed during the install.
                //       If the target is Visual Studio 2005 or Visual
                //       Studio 2008, this must return zero.
                //

                if (noNetFx40 && noNetFx45 && noNetFx451 && noNetFx46)

                    return false;


                //
                // NOTE: Also, if the EF6 core assembly is unavailable, this
                //       must return zero.
                //
                if (!IsSystemEf6AssemblyAvailable(trace))
                    return false;
................................................................................
                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx45", ForDisplay(noNetFx45)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx451", ForDisplay(noNetFx451)),
                        traceCategory);





                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx46", ForDisplay(noNetFx46)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoVs2005", ForDisplay(noVs2005)),
................................................................................

            private bool noNetFx451;
            public bool NoNetFx451
            {
                get { return noNetFx451; }
                set { noNetFx451 = value; }
            }










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

            private bool noNetFx46;
            public bool NoNetFx46
            {
                get { return noNetFx46; }
................................................................................
                    // NOTE: The .NET Framework 4.5.1 does not have its own
                    //       directory; however, it still may have assembly
                    //       folders for use in Visual Studio, etc.
                    //
                    if ((configuration == null) || !configuration.NoNetFx451)
                        desktopVersionList.Add(new Version(4, 5, 1));









                    //
                    // NOTE: The .NET Framework 4.6 does not have its own
                    //       directory; however, it still may have assembly
                    //       folders for use in Visual Studio, etc.
                    //
                    if ((configuration == null) || !configuration.NoNetFx46)
                        desktopVersionList.Add(new Version(4, 6));







>







 







>







 







|
>







 







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







 







>







 







|







 







>
|
>

>







 







>
>
>
>







 







>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>







2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
....
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
....
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
....
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
....
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
....
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
....
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
....
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
....
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
....
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
                bool noDesktop,
                bool noCompact,
                bool noNetFx20,
                bool noNetFx35,
                bool noNetFx40,
                bool noNetFx45,
                bool noNetFx451,
                bool noNetFx452,
                bool noNetFx46,
                bool noVs2005,
                bool noVs2008,
                bool noVs2010,
                bool noVs2012,
                bool noVs2013,
                bool noVs2015,
................................................................................
                this.noDesktop = noDesktop;
                this.noCompact = noCompact;
                this.noNetFx20 = noNetFx20;
                this.noNetFx35 = noNetFx35;
                this.noNetFx40 = noNetFx40;
                this.noNetFx45 = noNetFx45;
                this.noNetFx451 = noNetFx451;
                this.noNetFx452 = noNetFx452;
                this.noNetFx46 = noNetFx46;
                this.noVs2005 = noVs2005;
                this.noVs2008 = noVs2008;
                this.noVs2010 = noVs2010;
                this.noVs2012 = noVs2012;
                this.noVs2013 = noVs2013;
                this.noVs2015 = noVs2015;
................................................................................
                    thisAssembly, null, directory, coreFileName, linqFileName,
                    ef6FileName, designerFileName, null, null, null,
                    TraceOps.DebugFormat, TraceOps.TraceFormat,
                    InstallFlags.Default, ProviderFlags.Default,
                    TracePriority.Default, TracePriority.Default, false, true,
                    false, false, false, false, false, false, false, false,
                    false, false, false, false, false, false, false, false,
                    false, false, false, false, true, true, false, false,
                    false);
            }

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

            [MethodImpl(MethodImplOptions.NoInlining)]
            public static bool FromArgs(
                string[] args,
................................................................................
                                if (strict)
                                    return false;

                                continue;
                            }

                            configuration.noNetFx451 = (bool)value;
                        }
                        else if (MatchOption(newArg, "noNetFx452"))
                        {
                            bool? value = ParseBoolean(text);

                            if (value == null)
                            {
                                error = TraceOps.DebugAndTrace(
                                    TracePriority.Lowest, debugCallback,
                                    traceCallback, String.Format(
                                    "Invalid {0} boolean value: {1}",
                                    ForDisplay(arg), ForDisplay(text)),
                                    traceCategory);

                                if (strict)
                                    return false;

                                continue;
                            }

                            configuration.noNetFx452 = (bool)value;
                        }
                        else if (MatchOption(newArg, "noNetFx46"))
                        {
                            bool? value = ParseBoolean(text);

                            if (value == null)
                            {
................................................................................
                        //       assembly compiled with the CLR v2.0; however,
                        //       since this project offers both configurations,
                        //       we currently disallow this mismatch.
                        //
                        configuration.noNetFx40 = true;
                        configuration.noNetFx45 = true;
                        configuration.noNetFx451 = true;
                        configuration.noNetFx452 = true;
                        configuration.noNetFx46 = true;
                        configuration.noVs2010 = true;
                        configuration.noVs2012 = true;
                        configuration.noVs2013 = true;
                        configuration.noVs2015 = true;

                        TraceOps.DebugAndTrace(TracePriority.Medium,
................................................................................
                //
                // NOTE: Return non-zero if the System.Data.SQLite.Linq
                //       assembly should be processed during the install.
                //       If the target is Visual Studio 2005, this must
                //       return zero.
                //
                return !noNetFx35 || !noNetFx40 || !noNetFx45 ||
                    !noNetFx451 || !noNetFx452 || !noNetFx46;
            }

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

            public bool IsEf6Supported(
                bool trace
                )
................................................................................

                //
                // NOTE: Return non-zero if the System.Data.SQLite.EF6
                //       assembly should be processed during the install.
                //       If the target is Visual Studio 2005 or Visual
                //       Studio 2008, this must return zero.
                //
                if (noNetFx40 &&
                    noNetFx45 && noNetFx451 && noNetFx452 && noNetFx46)
                {
                    return false;
                }

                //
                // NOTE: Also, if the EF6 core assembly is unavailable, this
                //       must return zero.
                //
                if (!IsSystemEf6AssemblyAvailable(trace))
                    return false;
................................................................................
                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx45", ForDisplay(noNetFx45)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx451", ForDisplay(noNetFx451)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx452", ForDisplay(noNetFx452)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoNetFx46", ForDisplay(noNetFx46)),
                        traceCategory);

                    traceCallback(String.Format(NameAndValueFormat,
                        "NoVs2005", ForDisplay(noVs2005)),
................................................................................

            private bool noNetFx451;
            public bool NoNetFx451
            {
                get { return noNetFx451; }
                set { noNetFx451 = value; }
            }

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

            private bool noNetFx452;
            public bool NoNetFx452
            {
                get { return noNetFx452; }
                set { noNetFx452 = value; }
            }

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

            private bool noNetFx46;
            public bool NoNetFx46
            {
                get { return noNetFx46; }
................................................................................
                    // NOTE: The .NET Framework 4.5.1 does not have its own
                    //       directory; however, it still may have assembly
                    //       folders for use in Visual Studio, etc.
                    //
                    if ((configuration == null) || !configuration.NoNetFx451)
                        desktopVersionList.Add(new Version(4, 5, 1));

                    //
                    // NOTE: The .NET Framework 4.5.2 does not have its own
                    //       directory; however, it still may have assembly
                    //       folders for use in Visual Studio, etc.
                    //
                    if ((configuration == null) || !configuration.NoNetFx452)
                        desktopVersionList.Add(new Version(4, 5, 2));

                    //
                    // NOTE: The .NET Framework 4.6 does not have its own
                    //       directory; however, it still may have assembly
                    //       folders for use in Visual Studio, etc.
                    //
                    if ((configuration == null) || !configuration.NoNetFx46)
                        desktopVersionList.Add(new Version(4, 6));