System.Data.SQLite
Check-in [64dd02f948]
Not logged in

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

Overview
Comment:Refactor project system and test suite handling of mixed-mode files.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 64dd02f948cad511250fb74220865beb99ff5198
User & Date: mistachkin 2016-08-31 23:50:39
Context
2016-09-04
00:24
Update Eagle in externals to the beta 37 release. check-in: 127ce06a16 user: mistachkin tags: trunk
2016-09-02
22:51
Prepare to import Eagle beta 37 from upstream. check-in: 7d8ceb2843 user: mistachkin tags: eagleBeta37
2016-08-31
23:50
Refactor project system and test suite handling of mixed-mode files. check-in: 64dd02f948 user: mistachkin tags: trunk
23:35
Fix test issues with the .NET Framework 4.6.2. Closed-Leaf check-in: 5b6f731c24 user: mistachkin tags: interopPostBuild
19:21
Import the custom MSBuild targets file from the appropriate interop assembly project files. check-in: 46d5646194 user: mistachkin tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Externals/Eagle/lib/Eagle1.0/vendor.eagle.

   431    431       #
   432    432       # NOTE: Make the per-test connection flag output a little less noisy.
   433    433       #
   434    434       set no(emitLocalFlagsIfNone) 1
   435    435       set no(emitSharedFlagsIfNone) 1
   436    436       set no(emitGlobalFlagsIfNone) 1
   437    437       set no(emitCombinedFlagsIfNone) 1
          438  +
          439  +    #
          440  +    # NOTE: Force use of the native library pre-loader when applicable.
          441  +    #
          442  +    set no(deleteSqliteImplicitNativeFiles) 1
          443  +    set no(copySqliteImplicitNativeFiles) 1
   438    444     }
   439    445   }
   440    446   
   441    447   ###############################################################################
   442    448   ############################### END VENDOR CODE ###############################
   443    449   ###############################################################################

Changes to SQLite.Interop/SQLite.Interop.2010.vcxproj.

   165    165         <DelaySign>true</DelaySign>
   166    166       </Link>
   167    167       <Manifest>
   168    168         <VerboseOutput>true</VerboseOutput>
   169    169         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   170    170         <UpdateFileHashes>true</UpdateFileHashes>
   171    171       </Manifest>
   172         -    <PostBuildEvent>
   173         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   174         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   175         -    </PostBuildEvent>
   176    172     </ItemDefinitionGroup>
          173  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          174  +    <AfterBuildLinkTargets>
          175  +      $(AfterBuildLinkTargets);
          176  +      ReSignMixedModeAssembly;
          177  +    </AfterBuildLinkTargets>
          178  +  </PropertyGroup>
   177    179     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   178    180       <ClCompile>
   179    181         <Optimization>Disabled</Optimization>
   180    182         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   181    183         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   182    184         <MinimalRebuild>false</MinimalRebuild>
   183    185         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   209    211         <DelaySign>true</DelaySign>
   210    212       </Link>
   211    213       <Manifest>
   212    214         <VerboseOutput>true</VerboseOutput>
   213    215         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   214    216         <UpdateFileHashes>true</UpdateFileHashes>
   215    217       </Manifest>
   216         -    <PostBuildEvent>
   217         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   218         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   219         -    </PostBuildEvent>
   220    218     </ItemDefinitionGroup>
          219  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          220  +    <AfterBuildLinkTargets>
          221  +      $(AfterBuildLinkTargets);
          222  +      ReSignMixedModeAssembly;
          223  +    </AfterBuildLinkTargets>
          224  +  </PropertyGroup>
   221    225     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   222    226       <ClCompile>
   223    227         <Optimization>Disabled</Optimization>
   224    228         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   225    229         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   226    230         <MinimalRebuild>false</MinimalRebuild>
   227    231         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   247    251         <TargetMachine>MachineX86</TargetMachine>
   248    252       </Link>
   249    253       <Manifest>
   250    254         <VerboseOutput>true</VerboseOutput>
   251    255         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   252    256         <UpdateFileHashes>true</UpdateFileHashes>
   253    257       </Manifest>
   254         -    <PostBuildEvent>
   255         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   256         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   257         -    </PostBuildEvent>
   258    258     </ItemDefinitionGroup>
          259  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          260  +    <BaseConfiguration>Debug</BaseConfiguration>
          261  +    <AfterBuildLinkTargets>
          262  +      $(AfterBuildLinkTargets);
          263  +      CopyInteropAssembly;
          264  +    </AfterBuildLinkTargets>
          265  +  </PropertyGroup>
   259    266     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   260    267       <ClCompile>
   261    268         <Optimization>Disabled</Optimization>
   262    269         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   263    270         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   264    271         <MinimalRebuild>false</MinimalRebuild>
   265    272         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   285    292         <TargetMachine>MachineX64</TargetMachine>
   286    293       </Link>
   287    294       <Manifest>
   288    295         <VerboseOutput>true</VerboseOutput>
   289    296         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   290    297         <UpdateFileHashes>true</UpdateFileHashes>
   291    298       </Manifest>
   292         -    <PostBuildEvent>
   293         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   294         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   295         -    </PostBuildEvent>
   296    299     </ItemDefinitionGroup>
          300  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          301  +    <BaseConfiguration>Debug</BaseConfiguration>
          302  +    <AfterBuildLinkTargets>
          303  +      $(AfterBuildLinkTargets);
          304  +      CopyInteropAssembly;
          305  +    </AfterBuildLinkTargets>
          306  +  </PropertyGroup>
   297    307     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   298    308       <ClCompile>
   299    309         <Optimization>Full</Optimization>
   300    310         <IntrinsicFunctions>true</IntrinsicFunctions>
   301    311         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   302    312         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   303    313         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   331    341         <DelaySign>true</DelaySign>
   332    342       </Link>
   333    343       <Manifest>
   334    344         <VerboseOutput>true</VerboseOutput>
   335    345         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   336    346         <UpdateFileHashes>true</UpdateFileHashes>
   337    347       </Manifest>
   338         -    <PostBuildEvent>
   339         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   340         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   341         -    </PostBuildEvent>
   342    348     </ItemDefinitionGroup>
          349  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          350  +    <AfterBuildLinkTargets>
          351  +      $(AfterBuildLinkTargets);
          352  +      ReSignMixedModeAssembly;
          353  +    </AfterBuildLinkTargets>
          354  +  </PropertyGroup>
   343    355     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   344    356       <ClCompile>
   345    357         <Optimization>Full</Optimization>
   346    358         <IntrinsicFunctions>true</IntrinsicFunctions>
   347    359         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   348    360         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   349    361         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   377    389         <DelaySign>true</DelaySign>
   378    390       </Link>
   379    391       <Manifest>
   380    392         <VerboseOutput>true</VerboseOutput>
   381    393         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   382    394         <UpdateFileHashes>true</UpdateFileHashes>
   383    395       </Manifest>
   384         -    <PostBuildEvent>
   385         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   386         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   387         -    </PostBuildEvent>
   388    396     </ItemDefinitionGroup>
          397  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          398  +    <AfterBuildLinkTargets>
          399  +      $(AfterBuildLinkTargets);
          400  +      ReSignMixedModeAssembly;
          401  +    </AfterBuildLinkTargets>
          402  +  </PropertyGroup>
   389    403     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   390    404       <ClCompile>
   391    405         <Optimization>Full</Optimization>
   392    406         <IntrinsicFunctions>true</IntrinsicFunctions>
   393    407         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   394    408         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   395    409         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   418    432         <TargetMachine>MachineX86</TargetMachine>
   419    433       </Link>
   420    434       <Manifest>
   421    435         <VerboseOutput>true</VerboseOutput>
   422    436         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   423    437         <UpdateFileHashes>true</UpdateFileHashes>
   424    438       </Manifest>
   425         -    <PostBuildEvent>
   426         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   427         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   428         -    </PostBuildEvent>
   429    439     </ItemDefinitionGroup>
          440  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          441  +    <BaseConfiguration>Release</BaseConfiguration>
          442  +    <AfterBuildLinkTargets>
          443  +      $(AfterBuildLinkTargets);
          444  +      CopyInteropAssembly;
          445  +    </AfterBuildLinkTargets>
          446  +  </PropertyGroup>
   430    447     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   431    448       <ClCompile>
   432    449         <Optimization>Full</Optimization>
   433    450         <IntrinsicFunctions>true</IntrinsicFunctions>
   434    451         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   435    452         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   436    453         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   459    476         <TargetMachine>MachineX64</TargetMachine>
   460    477       </Link>
   461    478       <Manifest>
   462    479         <VerboseOutput>true</VerboseOutput>
   463    480         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   464    481         <UpdateFileHashes>true</UpdateFileHashes>
   465    482       </Manifest>
   466         -    <PostBuildEvent>
   467         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   468         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   469         -    </PostBuildEvent>
   470    483     </ItemDefinitionGroup>
          484  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          485  +    <BaseConfiguration>Release</BaseConfiguration>
          486  +    <AfterBuildLinkTargets>
          487  +      $(AfterBuildLinkTargets);
          488  +      CopyInteropAssembly;
          489  +    </AfterBuildLinkTargets>
          490  +  </PropertyGroup>
   471    491     <ItemGroup>
   472    492       <ClCompile Include="src\win\AssemblyInfo.cpp">
   473    493         <ExcludedFromBuild>true</ExcludedFromBuild>
   474    494       </ClCompile>
   475    495       <ClCompile Include="src\win\crypt.c">
   476    496         <ExcludedFromBuild>true</ExcludedFromBuild>
   477    497       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.2012.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.2013.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.2015.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.Static.2010.vcxproj.

   165    165         <DelaySign>true</DelaySign>
   166    166       </Link>
   167    167       <Manifest>
   168    168         <VerboseOutput>true</VerboseOutput>
   169    169         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   170    170         <UpdateFileHashes>true</UpdateFileHashes>
   171    171       </Manifest>
   172         -    <PostBuildEvent>
   173         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   174         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   175         -    </PostBuildEvent>
   176    172     </ItemDefinitionGroup>
          173  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          174  +    <AfterBuildLinkTargets>
          175  +      $(AfterBuildLinkTargets);
          176  +      ReSignMixedModeAssembly;
          177  +    </AfterBuildLinkTargets>
          178  +  </PropertyGroup>
   177    179     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   178    180       <ClCompile>
   179    181         <Optimization>Disabled</Optimization>
   180    182         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   181    183         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   182    184         <MinimalRebuild>false</MinimalRebuild>
   183    185         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   209    211         <DelaySign>true</DelaySign>
   210    212       </Link>
   211    213       <Manifest>
   212    214         <VerboseOutput>true</VerboseOutput>
   213    215         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   214    216         <UpdateFileHashes>true</UpdateFileHashes>
   215    217       </Manifest>
   216         -    <PostBuildEvent>
   217         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   218         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   219         -    </PostBuildEvent>
   220    218     </ItemDefinitionGroup>
          219  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          220  +    <AfterBuildLinkTargets>
          221  +      $(AfterBuildLinkTargets);
          222  +      ReSignMixedModeAssembly;
          223  +    </AfterBuildLinkTargets>
          224  +  </PropertyGroup>
   221    225     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   222    226       <ClCompile>
   223    227         <Optimization>Disabled</Optimization>
   224    228         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   225    229         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   226    230         <MinimalRebuild>false</MinimalRebuild>
   227    231         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   247    251         <TargetMachine>MachineX86</TargetMachine>
   248    252       </Link>
   249    253       <Manifest>
   250    254         <VerboseOutput>true</VerboseOutput>
   251    255         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   252    256         <UpdateFileHashes>true</UpdateFileHashes>
   253    257       </Manifest>
   254         -    <PostBuildEvent>
   255         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   256         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   257         -    </PostBuildEvent>
   258    258     </ItemDefinitionGroup>
          259  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          260  +    <BaseConfiguration>Debug</BaseConfiguration>
          261  +    <AfterBuildLinkTargets>
          262  +      $(AfterBuildLinkTargets);
          263  +      CopyInteropAssembly;
          264  +    </AfterBuildLinkTargets>
          265  +  </PropertyGroup>
   259    266     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   260    267       <ClCompile>
   261    268         <Optimization>Disabled</Optimization>
   262    269         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   263    270         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   264    271         <MinimalRebuild>false</MinimalRebuild>
   265    272         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   285    292         <TargetMachine>MachineX64</TargetMachine>
   286    293       </Link>
   287    294       <Manifest>
   288    295         <VerboseOutput>true</VerboseOutput>
   289    296         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   290    297         <UpdateFileHashes>true</UpdateFileHashes>
   291    298       </Manifest>
   292         -    <PostBuildEvent>
   293         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   294         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   295         -    </PostBuildEvent>
   296    299     </ItemDefinitionGroup>
          300  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          301  +    <BaseConfiguration>Debug</BaseConfiguration>
          302  +    <AfterBuildLinkTargets>
          303  +      $(AfterBuildLinkTargets);
          304  +      CopyInteropAssembly;
          305  +    </AfterBuildLinkTargets>
          306  +  </PropertyGroup>
   297    307     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   298    308       <ClCompile>
   299    309         <Optimization>Full</Optimization>
   300    310         <IntrinsicFunctions>true</IntrinsicFunctions>
   301    311         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   302    312         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   303    313         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   331    341         <DelaySign>true</DelaySign>
   332    342       </Link>
   333    343       <Manifest>
   334    344         <VerboseOutput>true</VerboseOutput>
   335    345         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   336    346         <UpdateFileHashes>true</UpdateFileHashes>
   337    347       </Manifest>
   338         -    <PostBuildEvent>
   339         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   340         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   341         -    </PostBuildEvent>
   342    348     </ItemDefinitionGroup>
          349  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          350  +    <AfterBuildLinkTargets>
          351  +      $(AfterBuildLinkTargets);
          352  +      ReSignMixedModeAssembly;
          353  +    </AfterBuildLinkTargets>
          354  +  </PropertyGroup>
   343    355     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   344    356       <ClCompile>
   345    357         <Optimization>Full</Optimization>
   346    358         <IntrinsicFunctions>true</IntrinsicFunctions>
   347    359         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   348    360         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   349    361         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   377    389         <DelaySign>true</DelaySign>
   378    390       </Link>
   379    391       <Manifest>
   380    392         <VerboseOutput>true</VerboseOutput>
   381    393         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   382    394         <UpdateFileHashes>true</UpdateFileHashes>
   383    395       </Manifest>
   384         -    <PostBuildEvent>
   385         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   386         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   387         -    </PostBuildEvent>
   388    396     </ItemDefinitionGroup>
          397  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          398  +    <AfterBuildLinkTargets>
          399  +      $(AfterBuildLinkTargets);
          400  +      ReSignMixedModeAssembly;
          401  +    </AfterBuildLinkTargets>
          402  +  </PropertyGroup>
   389    403     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   390    404       <ClCompile>
   391    405         <Optimization>Full</Optimization>
   392    406         <IntrinsicFunctions>true</IntrinsicFunctions>
   393    407         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   394    408         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   395    409         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   418    432         <TargetMachine>MachineX86</TargetMachine>
   419    433       </Link>
   420    434       <Manifest>
   421    435         <VerboseOutput>true</VerboseOutput>
   422    436         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   423    437         <UpdateFileHashes>true</UpdateFileHashes>
   424    438       </Manifest>
   425         -    <PostBuildEvent>
   426         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   427         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   428         -    </PostBuildEvent>
   429    439     </ItemDefinitionGroup>
          440  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          441  +    <BaseConfiguration>Release</BaseConfiguration>
          442  +    <AfterBuildLinkTargets>
          443  +      $(AfterBuildLinkTargets);
          444  +      CopyInteropAssembly;
          445  +    </AfterBuildLinkTargets>
          446  +  </PropertyGroup>
   430    447     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   431    448       <ClCompile>
   432    449         <Optimization>Full</Optimization>
   433    450         <IntrinsicFunctions>true</IntrinsicFunctions>
   434    451         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   435    452         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   436    453         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   459    476         <TargetMachine>MachineX64</TargetMachine>
   460    477       </Link>
   461    478       <Manifest>
   462    479         <VerboseOutput>true</VerboseOutput>
   463    480         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   464    481         <UpdateFileHashes>true</UpdateFileHashes>
   465    482       </Manifest>
   466         -    <PostBuildEvent>
   467         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   468         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   469         -    </PostBuildEvent>
   470    483     </ItemDefinitionGroup>
          484  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
          485  +    <BaseConfiguration>Release</BaseConfiguration>
          486  +    <AfterBuildLinkTargets>
          487  +      $(AfterBuildLinkTargets);
          488  +      CopyInteropAssembly;
          489  +    </AfterBuildLinkTargets>
          490  +  </PropertyGroup>
   471    491     <ItemGroup>
   472    492       <ClCompile Include="src\win\AssemblyInfo.cpp">
   473    493         <ExcludedFromBuild>true</ExcludedFromBuild>
   474    494       </ClCompile>
   475    495       <ClCompile Include="src\win\crypt.c">
   476    496         <ExcludedFromBuild>true</ExcludedFromBuild>
   477    497       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.Static.2012.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.Static.2013.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to SQLite.Interop/SQLite.Interop.Static.2015.vcxproj.

   172    172         <DelaySign>true</DelaySign>
   173    173       </Link>
   174    174       <Manifest>
   175    175         <VerboseOutput>true</VerboseOutput>
   176    176         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   177    177         <UpdateFileHashes>true</UpdateFileHashes>
   178    178       </Manifest>
   179         -    <PostBuildEvent>
   180         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   181         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   182         -    </PostBuildEvent>
   183    179     </ItemDefinitionGroup>
          180  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
          181  +    <AfterBuildLinkTargets>
          182  +      $(AfterBuildLinkTargets);
          183  +      ReSignMixedModeAssembly;
          184  +    </AfterBuildLinkTargets>
          185  +  </PropertyGroup>
   184    186     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
   185    187       <ClCompile>
   186    188         <Optimization>Disabled</Optimization>
   187    189         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   188    190         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   189    191         <MinimalRebuild>false</MinimalRebuild>
   190    192         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   216    218         <DelaySign>true</DelaySign>
   217    219       </Link>
   218    220       <Manifest>
   219    221         <VerboseOutput>true</VerboseOutput>
   220    222         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   221    223         <UpdateFileHashes>true</UpdateFileHashes>
   222    224       </Manifest>
   223         -    <PostBuildEvent>
   224         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   225         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   226         -    </PostBuildEvent>
   227    225     </ItemDefinitionGroup>
          226  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
          227  +    <AfterBuildLinkTargets>
          228  +      $(AfterBuildLinkTargets);
          229  +      ReSignMixedModeAssembly;
          230  +    </AfterBuildLinkTargets>
          231  +  </PropertyGroup>
   228    232     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
   229    233       <ClCompile>
   230    234         <Optimization>Disabled</Optimization>
   231    235         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   232    236         <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   233    237         <MinimalRebuild>false</MinimalRebuild>
   234    238         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   254    258         <TargetMachine>MachineX86</TargetMachine>
   255    259       </Link>
   256    260       <Manifest>
   257    261         <VerboseOutput>true</VerboseOutput>
   258    262         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   259    263         <UpdateFileHashes>true</UpdateFileHashes>
   260    264       </Manifest>
   261         -    <PostBuildEvent>
   262         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   263         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   264         -    </PostBuildEvent>
   265    265     </ItemDefinitionGroup>
          266  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|Win32'">
          267  +    <BaseConfiguration>Debug</BaseConfiguration>
          268  +    <AfterBuildLinkTargets>
          269  +      $(AfterBuildLinkTargets);
          270  +      CopyInteropAssembly;
          271  +    </AfterBuildLinkTargets>
          272  +  </PropertyGroup>
   266    273     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   267    274       <ClCompile>
   268    275         <Optimization>Disabled</Optimization>
   269    276         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   270    277         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_DEBUG_DEFINES);$(INTEROP_EXTRA_DEFINES);$(INTEROP_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   271    278         <MinimalRebuild>false</MinimalRebuild>
   272    279         <BasicRuntimeChecks>Default</BasicRuntimeChecks>
................................................................................
   292    299         <TargetMachine>MachineX64</TargetMachine>
   293    300       </Link>
   294    301       <Manifest>
   295    302         <VerboseOutput>true</VerboseOutput>
   296    303         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   297    304         <UpdateFileHashes>true</UpdateFileHashes>
   298    305       </Manifest>
   299         -    <PostBuildEvent>
   300         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   301         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   302         -    </PostBuildEvent>
   303    306     </ItemDefinitionGroup>
          307  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
          308  +    <BaseConfiguration>Debug</BaseConfiguration>
          309  +    <AfterBuildLinkTargets>
          310  +      $(AfterBuildLinkTargets);
          311  +      CopyInteropAssembly;
          312  +    </AfterBuildLinkTargets>
          313  +  </PropertyGroup>
   304    314     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   305    315       <ClCompile>
   306    316         <Optimization>Full</Optimization>
   307    317         <IntrinsicFunctions>true</IntrinsicFunctions>
   308    318         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   309    319         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   310    320         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   338    348         <DelaySign>true</DelaySign>
   339    349       </Link>
   340    350       <Manifest>
   341    351         <VerboseOutput>true</VerboseOutput>
   342    352         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   343    353         <UpdateFileHashes>true</UpdateFileHashes>
   344    354       </Manifest>
   345         -    <PostBuildEvent>
   346         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   347         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   348         -    </PostBuildEvent>
   349    355     </ItemDefinitionGroup>
          356  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
          357  +    <AfterBuildLinkTargets>
          358  +      $(AfterBuildLinkTargets);
          359  +      ReSignMixedModeAssembly;
          360  +    </AfterBuildLinkTargets>
          361  +  </PropertyGroup>
   350    362     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
   351    363       <ClCompile>
   352    364         <Optimization>Full</Optimization>
   353    365         <IntrinsicFunctions>true</IntrinsicFunctions>
   354    366         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   355    367         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   356    368         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   384    396         <DelaySign>true</DelaySign>
   385    397       </Link>
   386    398       <Manifest>
   387    399         <VerboseOutput>true</VerboseOutput>
   388    400         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   389    401         <UpdateFileHashes>true</UpdateFileHashes>
   390    402       </Manifest>
   391         -    <PostBuildEvent>
   392         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'==''">"$(FrameworkSDKDir)Bin\sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   393         -      <Command Condition="'$(TargetFrameworkSDKToolsDirectory)'!=''">"$(TargetFrameworkSDKToolsDirectory)sn.exe" -Ra "$(TargetPath)" "$(INTEROP_KEY_FILE)"</Command>
   394         -    </PostBuildEvent>
   395    403     </ItemDefinitionGroup>
          404  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
          405  +    <AfterBuildLinkTargets>
          406  +      $(AfterBuildLinkTargets);
          407  +      ReSignMixedModeAssembly;
          408  +    </AfterBuildLinkTargets>
          409  +  </PropertyGroup>
   396    410     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
   397    411       <ClCompile>
   398    412         <Optimization>Full</Optimization>
   399    413         <IntrinsicFunctions>true</IntrinsicFunctions>
   400    414         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   401    415         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   402    416         <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   425    439         <TargetMachine>MachineX86</TargetMachine>
   426    440       </Link>
   427    441       <Manifest>
   428    442         <VerboseOutput>true</VerboseOutput>
   429    443         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   430    444         <UpdateFileHashes>true</UpdateFileHashes>
   431    445       </Manifest>
   432         -    <PostBuildEvent>
   433         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   434         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   435         -    </PostBuildEvent>
   436    446     </ItemDefinitionGroup>
          447  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|Win32'">
          448  +    <BaseConfiguration>Release</BaseConfiguration>
          449  +    <AfterBuildLinkTargets>
          450  +      $(AfterBuildLinkTargets);
          451  +      CopyInteropAssembly;
          452  +    </AfterBuildLinkTargets>
          453  +  </PropertyGroup>
   437    454     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   438    455       <ClCompile>
   439    456         <Optimization>Full</Optimization>
   440    457         <IntrinsicFunctions>true</IntrinsicFunctions>
   441    458         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
   442    459         <AdditionalIncludeDirectories>$(INTEROP_INCLUDE_DIRECTORIES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
   443    460         <PreprocessorDefinitions>WIN32;x64;NDEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_EXTRA_DEFINES);$(SQLITE_RELEASE_DEFINES);$(INTEROP_EXTRA_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
................................................................................
   466    483         <TargetMachine>MachineX64</TargetMachine>
   467    484       </Link>
   468    485       <Manifest>
   469    486         <VerboseOutput>true</VerboseOutput>
   470    487         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   471    488         <UpdateFileHashes>true</UpdateFileHashes>
   472    489       </Manifest>
   473         -    <PostBuildEvent>
   474         -      <Command>XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\$(Platform)\" /D /E /V /I /F /H /Y</Command>
   475         -      <Command Condition="'$(DoesMachineMatchPlatform)' != 'false'">XCOPY "$(OutDir)$(TargetName).*" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   476         -    </PostBuildEvent>
   477    490     </ItemDefinitionGroup>
          491  +  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
          492  +    <BaseConfiguration>Release</BaseConfiguration>
          493  +    <AfterBuildLinkTargets>
          494  +      $(AfterBuildLinkTargets);
          495  +      CopyInteropAssembly;
          496  +    </AfterBuildLinkTargets>
          497  +  </PropertyGroup>
   478    498     <ItemGroup>
   479    499       <ClCompile Include="src\win\AssemblyInfo.cpp">
   480    500         <ExcludedFromBuild>true</ExcludedFromBuild>
   481    501       </ClCompile>
   482    502       <ClCompile Include="src\win\crypt.c">
   483    503         <ExcludedFromBuild>true</ExcludedFromBuild>
   484    504       </ClCompile>

Changes to Targets/SQLite.NET.targets.

   217    217     ******************************************************************************
   218    218     -->
   219    219   
   220    220     <Target Name="MissingVsSdk"
   221    221             Condition="'$(ProjectName)' != ''">
   222    222       <Warning Text="The Visual Studio SDK is missing, skipping project &quot;$(ProjectName)&quot;..." />
   223    223     </Target>
          224  +
          225  +  <!--
          226  +  ******************************************************************************
          227  +  -->
          228  +
          229  +  <Target Name="ReSignMixedModeAssembly"
          230  +          Condition="'$(ReSignMixedModeAssembly)' != 'false' And
          231  +                     '$(TargetPath)' != '' And
          232  +                     Exists('$(TargetPath)') And
          233  +                     '$(INTEROP_KEY_FILE)' != '' And
          234  +                     Exists('$(INTEROP_KEY_FILE)')">
          235  +    <Exec Condition="'$(TargetFrameworkSDKToolsDirectory)' == '' And
          236  +                     '$(FrameworkSDKDir)' != '' And
          237  +                     Exists('$(FrameworkSDKDir)Bin\sn.exe')"
          238  +          Command="&quot;$(FrameworkSDKDir)Bin\sn.exe&quot; -Ra &quot;$(TargetPath)&quot; &quot;$(INTEROP_KEY_FILE)&quot;" />
          239  +
          240  +    <Exec Condition="'$(TargetFrameworkSDKToolsDirectory)' != '' And
          241  +                     Exists('$(TargetFrameworkSDKToolsDirectory)sn.exe')"
          242  +          Command="&quot;$(TargetFrameworkSDKToolsDirectory)sn.exe&quot; -Ra &quot;$(TargetPath)&quot; &quot;$(INTEROP_KEY_FILE)&quot;" />
          243  +  </Target>
          244  +
          245  +  <!--
          246  +  ******************************************************************************
          247  +  -->
          248  +
          249  +  <Target Name="CopyInteropAssembly"
          250  +          Condition="'$(CopyInteropAssembly)' != 'false' And
          251  +                     '$(OutDir)' != '' And
          252  +                     HasTrailingSlash('$(OutDir)') And
          253  +                     '$(TargetName)' != '' And
          254  +                     '$(BaseConfiguration)' != '' And
          255  +                     '$(Platform)' != ''">
          256  +    <Exec Command="XCOPY &quot;$(OutDir)$(TargetName).*&quot; &quot;$(OutDir)..\..\$(BaseConfiguration)\bin\$(Platform)\&quot; /D /E /V /I /F /H /Y" />
          257  +
          258  +    <Exec Condition="'$(DoesMachineMatchPlatform)' != 'false'"
          259  +          Command="XCOPY &quot;$(OutDir)$(TargetName).*&quot; &quot;$(OutDir)..\..\$(BaseConfiguration)\bin\&quot; /D /E /V /I /F /H /Y" />
          260  +  </Target>
   224    261   </Project>

Changes to Tests/basic.eagle.

    58     58         error fileName
    59     59   } -constraints {eagle SQLite file_System.Data.SQLite.dll file_test.exe\
    60     60   testExec winForms} -result {0 {}}}
    61     61   
    62     62   ###############################################################################
    63     63   
    64     64   runTest {test data-1.2 {unit tests from the 'testlinq' project} -setup {
    65         -  #
    66         -  # NOTE: Re-copy the reference database file used for this unit test to the
    67         -  #       build directory in case it has been changed by a previous test run.
    68         -  #
    69         -  file copy -force $northwindEfDbFile \
    70         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           65  +  copySampleDatabaseFiles
    71     66   
    72     67     #
    73     68     # NOTE: We need to make 100% sure that the console output encoding is the
    74     69     #       same as when the 'testlinq.out' file was created.
    75     70     #
    76     71     set savedEncoding [object invoke Console OutputEncoding]
    77     72     set encoding [object invoke System.Text.Encoding GetEncoding Windows-1252]
................................................................................
    99     94   {eagle command.object monoToDo SQLite file_System.Data.SQLite.dll\
   100     95   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db\
   101     96   file_testlinq.out testExec} -result {0 True {}}}
   102     97   
   103     98   ###############################################################################
   104     99   
   105    100   runTest {test data-1.3 {unit tests from the 'testef6' project} -setup {
   106         -  #
   107         -  # NOTE: Re-copy the reference database file used for this unit test to the
   108         -  #       build directory in case it has been changed by a previous test run.
   109         -  #
   110         -  file copy -force $northwindEfDbFile \
   111         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
          101  +  copySampleDatabaseFiles
   112    102   
   113    103     #
   114    104     # NOTE: We need to make 100% sure that the console output encoding is the
   115    105     #       same as when the 'testlinq.out' file was created.
   116    106     #
   117    107     set savedEncoding [object invoke Console OutputEncoding]
   118    108     set encoding [object invoke System.Text.Encoding GetEncoding Windows-1252]
................................................................................
  3188   3178   } -constraints {eagle command.object monoBug28 command.sql compile.DATA SQLite\
  3189   3179   System.Data.SQLite} -result {{DetectTextAffinity, DetectStringType}\
  3190   3180   {DetectTextAffinity, DetectStringType}}}
  3191   3181   
  3192   3182   ###############################################################################
  3193   3183   
  3194   3184   runTest {test data-1.70 {LINQ w/String.Substring Method} -body {
  3195         -  #
  3196         -  # NOTE: Re-copy the reference database file used for this unit test to the
  3197         -  #       build directory in case it has been changed by a previous test run.
  3198         -  #
  3199         -  file copy -force $northwindEfDbFile \
  3200         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
         3185  +  copySampleDatabaseFiles
  3201   3186   
  3202   3187     set result [list]
  3203   3188     set output ""
  3204   3189   
  3205   3190     set code [catch {
  3206   3191       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
  3207   3192           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/data/Installer_Test_Vs2005.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     4      4   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
     5      5   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     6      6   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "SQLite"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
     9         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
            9  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    13     13   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    14     14   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False
    16     16   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = <null>
    17     17   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Packages", writable = True
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    20     20   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    21     21   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    22         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           22  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    24     24   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    25     25   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    28     28   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    29     29   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    48     48   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataProviders", writable = True
    49     49   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    50     50   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    51     51   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    52     52   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    53     53   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    54     54   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    55         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           55  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    56     56   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    57     57   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    58     58   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    62     62   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False
    63     63   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = <null>
    64     64   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    65     65   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesRead = 5, keyValuesWritten = 23, keyValuesDeleted = 0
    66     66   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    67     67   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Installer_Test_Vs2008.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     5      5   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
     6      6   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "SQLite"
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    10         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
           10  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "SQLite"
    14     14   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    16         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
           16  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    17     17   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    20     20   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    21     21   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    22     22   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
................................................................................
    25     25   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = <null>
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False
    28     28   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True
    29     29   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    30     30   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    31     31   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    32         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           32  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    33     33   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    34     34   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    35     35   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    36     36   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    37     37   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    38     38   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    39     39   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    58     58   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    62     62   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    63     63   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    64     64   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    65         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           65  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    66     66   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    67     67   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    68     68   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    69     69   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    70     70   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    71     71   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    72     72   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False
    73     73   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = <null>
    74     74   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    75     75   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 13, subKeysDeleted = 2, keyValuesRead = 6, keyValuesWritten = 24, keyValuesDeleted = 0
    76     76   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    77     77   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Installer_Test_Vs2010.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    12         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
           12  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    14     14   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    16     16   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    17     17   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = <null>
    20     20   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False
    21     21   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", subKeyName = "Packages", writable = True
    22     22   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    24     24   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    25         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           25  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    28     28   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    29     29   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    30     30   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    31     31   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    32     32   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    51     51   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", subKeyName = "DataProviders", writable = True
    52     52   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    53     53   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    54     54   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    55     55   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    56     56   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    57     57   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    58         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           58  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    62     62   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    63     63   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    64     64   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    65     65   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False
    66     66   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = <null>
    67     67   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    68     68   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesRead = 5, keyValuesWritten = 23, keyValuesDeleted = 0
    69     69   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    70     70   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Installer_Test_Vs2012.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    12         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
           12  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    14     14   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    16     16   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    17     17   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = <null>
    20     20   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False
    21     21   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", subKeyName = "Packages", writable = True
    22     22   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    24     24   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    25         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           25  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    28     28   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    29     29   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    30     30   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    31     31   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    32     32   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    51     51   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", subKeyName = "DataProviders", writable = True
    52     52   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    53     53   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    54     54   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    55     55   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    56     56   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    57     57   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    58         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           58  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    62     62   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    63     63   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    64     64   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    65     65   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False
    66     66   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = <null>
    67     67   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    68     68   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesRead = 5, keyValuesWritten = 23, keyValuesDeleted = 0
    69     69   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    70     70   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Installer_Test_Vs2013.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    12         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory]]"
           12  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx\System.Data.SQLite", name = <null>, value = "[file nativename [getBuildDirectory false]]"
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    14     14   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    16     16   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    17     17   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = <null>
    20     20   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False
    21     21   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", subKeyName = "Packages", writable = True
    22     22   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    24     24   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    25         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           25  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    28     28   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    29     29   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    30     30   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    31     31   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    32     32   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    51     51   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", subKeyName = "DataProviders", writable = True
    52     52   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    53     53   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    54     54   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    55     55   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    56     56   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    57     57   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    58         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           58  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    62     62   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    63     63   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    64     64   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    65     65   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False
    66     66   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = <null>
    67     67   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    68     68   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesRead = 5, keyValuesWritten = 23, keyValuesDeleted = 0
    69     69   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    70     70   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Installer_Test_Vs2015.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.6", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    11     11   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    12     12   Installer.exe: #[getLineNumber]: Installer.AddDbProviderFactory: addElement = <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=[file version $systemDataSQLiteDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\14.0", writable = False
    14     14   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0", name = "InstallDir", defaultValue = <null>
    15     15   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\14.0", writable = False
    16     16   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0", subKeyName = "Packages", writable = True
    17     17   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}"
    18     18   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = <null>, value = "System.Data.SQLite Designer Package"
    19     19   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage"
    20         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           20  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    21     21   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400
    22     22   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]"
    23     23   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "https://system.data.sqlite.org/"
    24     24   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard"
    25     25   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package"
    26     26   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0"
    27     27   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox"
................................................................................
    46     46   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0", subKeyName = "DataProviders", writable = True
    47     47   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}"
    48     48   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = <null>, value = ".NET Framework Data Provider for SQLite"
    49     49   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139"
    50     50   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}"
    51     51   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite"
    52     52   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}"
    53         -Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
           53  +Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
    54     54   Installer.exe: #[getLineNumber]: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}"
    55     55   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl"
    56     56   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties"
    57     57   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport"
    58     58   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport"
    59     59   Installer.exe: #[getLineNumber]: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport"
    60     60   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\14.0", writable = False
    61     61   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0", name = "InstallDir", defaultValue = <null>
    62     62   Installer.exe: #[getLineNumber]: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 14.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 14.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True
    63     63   Installer.exe: #[getLineNumber]: Installer.Main: subKeysCreated = 11, subKeysDeleted = 0, keyValuesRead = 5, keyValuesWritten = 22, keyValuesDeleted = 0
    64     64   Installer.exe: #[getLineNumber]: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0
    65     65   Installer.exe: #[getLineNumber]: Installer.Main: Success.

Changes to Tests/data/Uninstaller_Test_Vs2005.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     4      4   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
     5      5   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     6      6   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    10     10   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>

Changes to Tests/data/Uninstaller_Test_Vs2008.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     5      5   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False
     6      6   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False

Changes to Tests/data/Uninstaller_Test_Vs2010.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    13     13   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>

Changes to Tests/data/Uninstaller_Test_Vs2012.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    13     13   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>

Changes to Tests/data/Uninstaller_Test_Vs2013.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "System.Data.SQLite"
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
    11     11   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    13     13   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>

Changes to Tests/data/Uninstaller_Test_Vs2015.log.

     1      1   Installer.exe: #[getLineNumber]: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled.
     2         -Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory] EntityFramework.dll]]".
     3         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]"
     4         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]"
     5         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]"
     6         -Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]"
            2  +Installer.exe: #[getLineNumber]: Configuration.IsSystemEf6AssemblyAvailable: Entity Framework 6 assembly was resolved to "[file nativename [file join [getBuildDirectory false] EntityFramework.dll]]".
            3  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] SQLite.Designer.dll]]"
            4  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.EF6.dll]]"
            5  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.Linq.dll]]"
            6  +Installer.exe: #[getLineNumber]: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory false] System.Data.SQLite.dll]]"
     7      7   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.6", writable = False
     8      8   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False
     9      9   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False
    10     10   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = <null>
    11     11   Installer.exe: #[getLineNumber]: Installer.RemoveDbProviderFactory: addElement = <null>, removeElement = <null>
    12     12   Installer.exe: #[getLineNumber]: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\14.0", writable = False
    13     13   Installer.exe: #[getLineNumber]: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\14.0", name = "InstallDir", defaultValue = <null>

Changes to Tests/installer.eagle.

    36     36     set output ""
    37     37   
    38     38     set code [catch {
    39     39       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
    40     40           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
    41     41           -noRuntimeVersion true -noCompact true -noNetFx35 true \
    42     42           -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
    43         -        -noNetFx46 true -noNetFx461 true -noVs2008 true -noVs2010 true \
    44         -        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
    45         -        -verbose true -confirm true -install true -debug true -wow64 true \
           43  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2008 true \
           44  +        -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true \
           45  +        -whatIf true -verbose true -confirm true -install true -debug true \
           46  +        -wow64 true \
    46     47           -logFileName [appendArgs \" [file nativename $fileName] \"] \
    47     48           -traceFormat [appendArgs \" "#{0}: {2}" \"]
    48     49     } error]
    49     50   
    50     51     tlog "---- BEGIN STDOUT OUTPUT\n"
    51     52     tlog $output
    52     53     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
    77     78     set output ""
    78     79   
    79     80     set code [catch {
    80     81       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
    81     82           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
    82     83           -noRuntimeVersion true -noCompact true -noNetFx35 true \
    83     84           -noNetFx40 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
    84         -        -noNetFx46 true -noNetFx461 true -noVs2008 true -noVs2010 true \
    85         -        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
    86         -        -verbose true -confirm true -install false -debug true -wow64 true \
           85  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2008 true \
           86  +        -noVs2010 true -noVs2012 true -noVs2013 true -noVs2015 true \
           87  +        -whatIf true -verbose true -confirm true -install false -debug true \
           88  +        -wow64 true \
    87     89           -logFileName [appendArgs \" [file nativename $fileName] \"] \
    88     90           -traceFormat [appendArgs \" "#{0}: {2}" \"]
    89     91     } error]
    90     92   
    91     93     tlog "---- BEGIN STDOUT OUTPUT\n"
    92     94     tlog $output
    93     95     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   118    120     set output ""
   119    121   
   120    122     set code [catch {
   121    123       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   122    124           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   123    125           -noRuntimeVersion true -noCompact true -noNetFx40 true \
   124    126           -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true \
   125         -        -noNetFx461 true -noVs2005 true -noVs2010 true -noVs2012 true \
   126         -        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
   127         -        -confirm true -install true -debug true -wow64 true \
          127  +        -noNetFx461 true -noNetFx462 true -noVs2005 true -noVs2010 true \
          128  +        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
          129  +        -verbose true -confirm true -install true -debug true -wow64 true \
   128    130           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   129    131           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   130    132     } error]
   131    133   
   132    134     tlog "---- BEGIN STDOUT OUTPUT\n"
   133    135     tlog $output
   134    136     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   159    161     set output ""
   160    162   
   161    163     set code [catch {
   162    164       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   163    165           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   164    166           -noRuntimeVersion true -noCompact true -noNetFx40 true \
   165    167           -noNetFx45 true -noNetFx451 true -noNetFx452 true -noNetFx46 true \
   166         -        -noNetFx461 true -noVs2005 true -noVs2010 true -noVs2012 true \
   167         -        -noVs2013 true -noVs2015 true -whatIf true -verbose true \
   168         -        -confirm true -install false -debug true -wow64 true \
          168  +        -noNetFx461 true -noNetFx462 true -noVs2005 true -noVs2010 true \
          169  +        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
          170  +        -verbose true -confirm true -install false -debug true -wow64 true \
   169    171           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   170    172           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   171    173     } error]
   172    174   
   173    175     tlog "---- BEGIN STDOUT OUTPUT\n"
   174    176     tlog $output
   175    177     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   200    202     set output ""
   201    203   
   202    204     set code [catch {
   203    205       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   204    206           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   205    207           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   206    208           -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
   207         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   208         -        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
   209         -        -verbose true -confirm true -install true -debug true -wow64 true \
          209  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          210  +        -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true \
          211  +        -whatIf true -verbose true -confirm true -install true -debug true \
          212  +        -wow64 true \
   210    213           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   211    214           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   212    215     } error]
   213    216   
   214    217     tlog "---- BEGIN STDOUT OUTPUT\n"
   215    218     tlog $output
   216    219     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   242    245     set output ""
   243    246   
   244    247     set code [catch {
   245    248       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   246    249           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   247    250           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   248    251           -noNetFx35 true -noNetFx45 true -noNetFx451 true -noNetFx452 true \
   249         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   250         -        -noVs2012 true -noVs2013 true -noVs2015 true -whatIf true \
   251         -        -verbose true -confirm true -install false -debug true -wow64 true \
          252  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          253  +        -noVs2008 true -noVs2012 true -noVs2013 true -noVs2015 true \
          254  +        -whatIf true -verbose true -confirm true -install false -debug true \
          255  +        -wow64 true \
   252    256           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   253    257           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   254    258     } error]
   255    259   
   256    260     tlog "---- BEGIN STDOUT OUTPUT\n"
   257    261     tlog $output
   258    262     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   284    288     set output ""
   285    289   
   286    290     set code [catch {
   287    291       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   288    292           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   289    293           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   290    294           -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx452 true \
   291         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   292         -        -noVs2010 true -noVs2013 true -noVs2015 true -whatIf true \
   293         -        -verbose true -confirm true -install true -debug true -wow64 true \
   294         -        -configVersion 4.0.30319 \
          295  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          296  +        -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true \
          297  +        -whatIf true -verbose true -confirm true -install true -debug true \
          298  +        -wow64 true -configVersion 4.0.30319 \
   295    299           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   296    300           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   297    301     } error]
   298    302   
   299    303     tlog "---- BEGIN STDOUT OUTPUT\n"
   300    304     tlog $output
   301    305     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   327    331     set output ""
   328    332   
   329    333     set code [catch {
   330    334       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   331    335           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   332    336           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   333    337           -noNetFx35 true -noNetFx40 true -noNetFx451 true -noNetFx452 true \
   334         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   335         -        -noVs2010 true -noVs2013 true -noVs2015 true -whatIf true \
   336         -        -verbose true -confirm true -install false -debug true -wow64 true \
   337         -        -configVersion 4.0.30319 \
          338  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          339  +        -noVs2008 true -noVs2010 true -noVs2013 true -noVs2015 true \
          340  +        -whatIf true -verbose true -confirm true -install false -debug true \
          341  +        -wow64 true -configVersion 4.0.30319 \
   338    342           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   339    343           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   340    344     } error]
   341    345   
   342    346     tlog "---- BEGIN STDOUT OUTPUT\n"
   343    347     tlog $output
   344    348     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   370    374     set output ""
   371    375   
   372    376     set code [catch {
   373    377       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   374    378           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   375    379           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   376    380           -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx452 true \
   377         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   378         -        -noVs2010 true -noVs2012 true -noVs2015 true -whatIf true \
   379         -        -verbose true -confirm true -install true -debug true -wow64 true \
   380         -        -configVersion 4.0.30319 \
          381  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          382  +        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true \
          383  +        -whatIf true -verbose true -confirm true -install true -debug true \
          384  +        -wow64 true -configVersion 4.0.30319 \
   381    385           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   382    386           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   383    387     } error]
   384    388   
   385    389     tlog "---- BEGIN STDOUT OUTPUT\n"
   386    390     tlog $output
   387    391     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   413    417     set output ""
   414    418   
   415    419     set code [catch {
   416    420       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   417    421           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   418    422           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   419    423           -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx452 true \
   420         -        -noNetFx46 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   421         -        -noVs2010 true -noVs2012 true -noVs2015 true -whatIf true \
   422         -        -verbose true -confirm true -install false -debug true -wow64 true \
   423         -        -configVersion 4.0.30319 \
          424  +        -noNetFx46 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          425  +        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2015 true \
          426  +        -whatIf true -verbose true -confirm true -install false -debug true \
          427  +        -wow64 true -configVersion 4.0.30319 \
   424    428           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   425    429           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   426    430     } error]
   427    431   
   428    432     tlog "---- BEGIN STDOUT OUTPUT\n"
   429    433     tlog $output
   430    434     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   456    460     set output ""
   457    461   
   458    462     set code [catch {
   459    463       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   460    464           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   461    465           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   462    466           -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
   463         -        -noNetFx452 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   464         -        -noVs2010 true -noVs2012 true -noVs2013 true -whatIf true \
   465         -        -verbose true -confirm true -install true -debug true -wow64 true \
   466         -        -configVersion 4.0.30319 \
          467  +        -noNetFx452 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          468  +        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true \
          469  +        -whatIf true -verbose true -confirm true -install true -debug true \
          470  +        -wow64 true -configVersion 4.0.30319 \
   467    471           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   468    472           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   469    473     } error]
   470    474   
   471    475     tlog "---- BEGIN STDOUT OUTPUT\n"
   472    476     tlog $output
   473    477     tlog "\n---- END STDOUT OUTPUT\n"
................................................................................
   499    503     set output ""
   500    504   
   501    505     set code [catch {
   502    506       testClrExec $installerExeFile [list -eventflags Wait -stdout output \
   503    507           -success 0] -debugPriority Lowest -tracePriority MediumHigh \
   504    508           -noRuntimeVersion true -noCompact true -noNetFx20 true \
   505    509           -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true \
   506         -        -noNetFx452 true -noNetFx461 true -noVs2005 true -noVs2008 true \
   507         -        -noVs2010 true -noVs2012 true -noVs2013 true -whatIf true \
   508         -        -verbose true -confirm true -install false -debug true -wow64 true \
   509         -        -configVersion 4.0.30319 \
          510  +        -noNetFx452 true -noNetFx461 true -noNetFx462 true -noVs2005 true \
          511  +        -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true \
          512  +        -whatIf true -verbose true -confirm true -install false -debug true \
          513  +        -wow64 true -configVersion 4.0.30319 \
   510    514           -logFileName [appendArgs \" [file nativename $fileName] \"] \
   511    515           -traceFormat [appendArgs \" "#{0}: {2}" \"]
   512    516     } error]
   513    517   
   514    518     tlog "---- BEGIN STDOUT OUTPUT\n"
   515    519     tlog $output
   516    520     tlog "\n---- END STDOUT OUTPUT\n"

Changes to Tests/linq.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test linq-1.1 {DbUpdateCommandTree with UPDATE and SELECT} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
    56     51   } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
    57     52   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
    58     53   -result {0 {inserted 1 updated 1}}}
    59     54   
    60     55   ###############################################################################
    61     56   
    62     57   runTest {test linq-1.2 {ROUND function with two arguments} -body {
    63         -  #
    64         -  # NOTE: Re-copy the reference database file used for this unit test to the
    65         -  #       build directory in case it has been changed by a previous test run.
    66         -  #
    67         -  file copy -force $northwindEfDbFile \
    68         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           58  +  copySampleDatabaseFiles
    69     59   
    70     60     set result [list]
    71     61     set output ""
    72     62   
    73     63     set code [catch {
    74     64       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    75     65           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-00f86f9739.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-00f86f9739-1.1 {LINQ with StartsWith} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28   
    34     29     foreach value [list "" a b z 1+1 don notthere] {
    35     30       set output ""
    36     31   
    37     32       set code [catch {
................................................................................
    63     58   file_northwindEF.db} -result {0 {} 0 {DRACD OLDWO RATTC} 0 {ALFKI CACTU CHOPS\
    64     59   FOLKO GALED KOENE LILAS MAGAA MAISD OCEAN RANCH SAVEA THECR} 0 {} 0 {} 0 {} 0\
    65     60   {}}}
    66     61   
    67     62   ###############################################################################
    68     63   
    69     64   runTest {test tkt-00f86f9739-1.2 {EF6 with StartsWith} -body {
    70         -  #
    71         -  # NOTE: Re-copy the reference database file used for this unit test to the
    72         -  #       build directory in case it has been changed by a previous test run.
    73         -  #
    74         -  file copy -force $northwindEfDbFile \
    75         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           65  +  copySampleDatabaseFiles
    76     66   
    77     67     set result [list]
    78     68   
    79     69     foreach value [list "" a b z 1+1 don notthere] {
    80     70       set output ""
    81     71   
    82     72       set code [catch {

Changes to Tests/tkt-0a32885109.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-0a32885109-1.1 {LINQ compound-operator handling} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-41aea496e0.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-41aea496e0-1.1 {LINQ non-rowid primary key support} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-58ed318f2f.eagle.

   448    448     sql execute $db {
   449    449       CREATE TABLE t1(x);
   450    450       INSERT INTO t1 (x) VALUES(0);
   451    451     }
   452    452   
   453    453     sql execute -execute reader -format list $db "SELECT x FROM t1;"
   454    454   
   455         -  expr {[getSettingReadCount ""] eq ([isMono] ? "10 15" : "10 13") && \
          455  +  set counts [getSettingReadCount ""]
          456  +
          457  +  expr {[lindex $counts 0] > 0 && [lindex $counts 1] > 0 && \
   456    458         [getSettingReadCount "" true] eq "0 0"}
   457    459   } -cleanup {
   458    460     cleanupDb $fileName
   459    461     restoreGetSettingValueEnvironment
   460    462   
   461         -  unset -nocomplain db fileName
          463  +  unset -nocomplain counts db fileName
   462    464   } -constraints {eagle command.object monoBug28 command.sql compile.DATA SQLite\
   463         -System.Data.SQLite SQLiteInterop buildConfiguration.Debug} -result {True}}
          465  +System.Data.SQLite buildConfiguration.Debug} -result {True}}
   464    466   
   465    467   ###############################################################################
   466    468   
   467    469   rename getSettingReadCount ""
   468    470   
   469    471   ###############################################################################
   470    472   
   471    473   reportSQLiteResources $test_channel true
   472    474   
   473    475   ###############################################################################
   474    476   
   475    477   runSQLiteTestEpilogue
   476    478   runTestEpilogue

Changes to Tests/tkt-59edc1018b.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-59edc1018b-1.1 {LINQ with EndsWith} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28   
    34     29     foreach value [list "" a b z 1+1 don notthere] {
    35     30       set output ""
    36     31   
    37     32       set code [catch {
................................................................................
    62     57   file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll file_testlinq.exe\
    63     58   file_northwindEF.db} -result {0 {} 0 {FURIB GALED GODOS LAZYK LINOD PRINI REGGC\
    64     59   WOLZA} 0 {} 0 ERNSH 0 {} 0 {AROUT BSBEV CONSH EASTC NORTS SEVES} 0 {}}}
    65     60   
    66     61   ###############################################################################
    67     62   
    68     63   runTest {test tkt-59edc1018b-1.2 {EF6 with EndsWith} -body {
    69         -  #
    70         -  # NOTE: Re-copy the reference database file used for this unit test to the
    71         -  #       build directory in case it has been changed by a previous test run.
    72         -  #
    73         -  file copy -force $northwindEfDbFile \
    74         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           64  +  copySampleDatabaseFiles
    75     65   
    76     66     set result [list]
    77     67   
    78     68     foreach value [list "" a b z 1+1 don notthere] {
    79     69       set output ""
    80     70   
    81     71       set code [catch {

Changes to Tests/tkt-8b7d179c3c.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-8b7d179c3c-1.1 {LINQ with Skip and Take} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28   
    34     29     for {set pageSize 0} {$pageSize <= 2} {incr pageSize} {
    35     30       set output ""
    36     31   
    37     32       set code [catch {
................................................................................
    73     68   PARIS SPECD LONEP THEBI REGGC VINET WELLI HANAR QUEDE RICAR PICCO HILAA LETSS\
    74     69   COMMI FAMIA QUEEN TRADH WHITC GODOS SANTG BLONP WANDK FRANS LAMAI BOTTM LAUGB\
    75     70   LACOR LAZYK WOLZA VAFFE}}}
    76     71   
    77     72   ###############################################################################
    78     73   
    79     74   runTest {test tkt-8b7d179c3c-1.2 {EF6 with Skip and Take} -body {
    80         -  #
    81         -  # NOTE: Re-copy the reference database file used for this unit test to the
    82         -  #       build directory in case it has been changed by a previous test run.
    83         -  #
    84         -  file copy -force $northwindEfDbFile \
    85         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           75  +  copySampleDatabaseFiles
    86     76   
    87     77     set result [list]
    88     78   
    89     79     for {set pageSize 0} {$pageSize <= 2} {incr pageSize} {
    90     80       set output ""
    91     81   
    92     82       set code [catch {

Changes to Tests/tkt-8d928c3e88.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-8d928c3e88-1.1 {LINQ w/BinaryGUID=false} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
    56     51   } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
    57     52   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
    58     53   -result {0 2d3d2d3d-2d3d-2d3d-2d3d-2d3d2d3d2d3d}}
    59     54   
    60     55   ###############################################################################
    61     56   
    62     57   runTest {test tkt-8d928c3e88-1.2 {LINQ w/BinaryGUID=true} -body {
    63         -  #
    64         -  # NOTE: Re-copy the reference database file used for this unit test to the
    65         -  #       build directory in case it has been changed by a previous test run.
    66         -  #
    67         -  file copy -force $northwindEfDbFile \
    68         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           58  +  copySampleDatabaseFiles
    69     59   
    70     60     set result [list]
    71     61     set output ""
    72     62   
    73     63     set code [catch {
    74     64       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    75     65           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
    94     84   } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
    95     85   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
    96     86   -result {0 =-=-=-=--=-=-=-=}}
    97     87   
    98     88   ###############################################################################
    99     89   
   100     90   runTest {test tkt-8d928c3e88-2.1 {LINQ w/DateTimeFormat=Ticks} -body {
   101         -  #
   102         -  # NOTE: Re-copy the reference database file used for this unit test to the
   103         -  #       build directory in case it has been changed by a previous test run.
   104         -  #
   105         -  file copy -force $northwindEfDbFile \
   106         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           91  +  copySampleDatabaseFiles
   107     92   
   108     93     set result [list]
   109     94     set output ""
   110     95   
   111     96     set code [catch {
   112     97       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
   113     98           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
   133    118   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
   134    119   -match regexp -result \
   135    120   {\sWHERE \[Extent1\]\.\[OrderDate\] < 629876736000000000\s}}
   136    121   
   137    122   ###############################################################################
   138    123   
   139    124   runTest {test tkt-8d928c3e88-2.2 {LINQ w/DateTimeFormat=JulianDay} -body {
   140         -  #
   141         -  # NOTE: Re-copy the reference database file used for this unit test to the
   142         -  #       build directory in case it has been changed by a previous test run.
   143         -  #
   144         -  file copy -force $northwindEfDbFile \
   145         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
          125  +  copySampleDatabaseFiles
   146    126   
   147    127     set result [list]
   148    128     set output ""
   149    129   
   150    130     set code [catch {
   151    131       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
   152    132           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
   171    151   } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
   172    152   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
   173    153   -match regexp -result {\sWHERE \[Extent1\]\.\[OrderDate\] < 2450449\.5\s}}
   174    154   
   175    155   ###############################################################################
   176    156   
   177    157   runTest {test tkt-8d928c3e88-2.3 {LINQ w/DateTimeFormat=UnixEpoch} -body {
   178         -  #
   179         -  # NOTE: Re-copy the reference database file used for this unit test to the
   180         -  #       build directory in case it has been changed by a previous test run.
   181         -  #
   182         -  file copy -force $northwindEfDbFile \
   183         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
          158  +  copySampleDatabaseFiles
   184    159   
   185    160     set result [list]
   186    161     set output ""
   187    162   
   188    163     set code [catch {
   189    164       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
   190    165           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
   209    184   } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\
   210    185   file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} \
   211    186   -match regexp -result {\sWHERE \[Extent1\]\.\[OrderDate\] < 852076800\s}}
   212    187   
   213    188   ###############################################################################
   214    189   
   215    190   runTest {test tkt-8d928c3e88-2.4 {LINQ w/DateTimeFormat=ISO8601} -body {
   216         -  #
   217         -  # NOTE: Re-copy the reference database file used for this unit test to the
   218         -  #       build directory in case it has been changed by a previous test run.
   219         -  #
   220         -  file copy -force $northwindEfDbFile \
   221         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
          191  +  copySampleDatabaseFiles
   222    192   
   223    193     set result [list]
   224    194     set output ""
   225    195   
   226    196     set code [catch {
   227    197       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
   228    198           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-9d353b0bd8.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-9d353b0bd8-1.1 {DbModificationCommandTree w/INSERT} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-a4d9c7ee94.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-a4d9c7ee94-1.1 {LINQ w/BinaryGUID=false} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
    67     62   40222 44122 45839 48075 48084 48304 53404 55113 55439 60179 60601 72716 75234\
    68     63   78759 80202 80909 85014 85251 90405 94025 94105 95008 95054 95060 98004 98052\
    69     64   98104}}}
    70     65   
    71     66   ###############################################################################
    72     67   
    73     68   runTest {test tkt-a4d9c7ee94-1.2 {LINQ w/BinaryGUID=true} -body {
    74         -  #
    75         -  # NOTE: Re-copy the reference database file used for this unit test to the
    76         -  #       build directory in case it has been changed by a previous test run.
    77         -  #
    78         -  file copy -force $northwindEfDbFile \
    79         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           69  +  copySampleDatabaseFiles
    80     70   
    81     71     set result [list]
    82     72     set output ""
    83     73   
    84     74     set code [catch {
    85     75       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    86     76           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \

Changes to Tests/tkt-ccfa69fc32.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-ccfa69fc32-1.1 {LINQ Transaction Scope} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28   
    34     29     foreach add [list false true false] {
    35     30       set output ""
    36     31   
    37     32       set code [catch {
................................................................................
    63     58   -result {0 {1581 1730 1833 2116 2139} 0 {constraint failed -- UNIQUE constraint\
    64     59   failed: Territories.TerritoryID} 0 {1 2 3 4 5 6 7 8 9 10 1576 1577 1578 1579\
    65     60   1580 1581 1730 1833 2116 2139}}}
    66     61   
    67     62   ###############################################################################
    68     63   
    69     64   runTest {test tkt-ccfa69fc32-1.2 {EF6 Transaction Scope} -body {
    70         -  #
    71         -  # NOTE: Re-copy the reference database file used for this unit test to the
    72         -  #       build directory in case it has been changed by a previous test run.
    73         -  #
    74         -  file copy -force $northwindEfDbFile \
    75         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           65  +  copySampleDatabaseFiles
    76     66   
    77     67     set result [list]
    78     68   
    79     69     foreach add [list false true false] {
    80     70       set output ""
    81     71   
    82     72       set code [catch {

Changes to Tests/tkt-da9f18d039.eagle.

    18     18   package require System.Data.SQLite.Test
    19     19   runSQLiteTestPrologue
    20     20   runSQLiteTestFilesPrologue
    21     21   
    22     22   ###############################################################################
    23     23   
    24     24   runTest {test tkt-da9f18d039-1.1 {LINQ DateTime handling} -body {
    25         -  #
    26         -  # NOTE: Re-copy the reference database file used for this unit test to the
    27         -  #       build directory in case it has been changed by a previous test run.
    28         -  #
    29         -  file copy -force $northwindEfDbFile \
    30         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           25  +  copySampleDatabaseFiles
    31     26   
    32     27     set result [list]
    33     28     set output ""
    34     29   
    35     30     set code [catch {
    36     31       testClrExec $testLinqExeFile [list -eventflags Wait -directory \
    37     32           [file dirname $testLinqExeFile] -nocarriagereturns -stdout output \
................................................................................
    60     55   ###############################################################################
    61     56   
    62     57   runTest {test tkt-da9f18d039-1.2 {EF6 DateTime handling} -body {
    63     58     #
    64     59     # NOTE: Re-copy the reference database file used for this unit test to the
    65     60     #       build directory in case it has been changed by a previous test run.
    66     61     #
    67         -  file copy -force $northwindEfDbFile \
    68         -      [file join [getBuildDirectory] [file tail $northwindEfDbFile]]
           62  +  copySampleDatabaseFiles
    69     63   
    70     64     set result [list]
    71     65     set output ""
    72     66   
    73     67     set code [catch {
    74     68       testClrExec $testEf6ExeFile [list -eventflags Wait -directory \
    75     69           [file dirname $testEf6ExeFile] -nocarriagereturns -stdout output \

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

   702    702         if {$native} then {
   703    703           return [file join $path bin $year $platform $configuration]
   704    704         } else {
   705    705           return [file join $path bin $year $configuration bin]
   706    706         }
   707    707       }
   708    708   
   709         -    proc getBuildDirectory {} {
          709  +    proc getBuildDirectory { managedOnly } {
   710    710         #
   711    711         # NOTE: See if the "native" runtime option has been set.  If so, use the
   712    712         #       directory for the mixed-mode assembly (a.k.a. the native interop
   713    713         #       assembly).  To enable this option via the command line, enter a
   714    714         #       command similar to one of the following (all on one line):
   715    715         #
   716    716         #       EagleShell.exe -initialize -runtimeOption native
................................................................................
   768    768           #
   769    769           #       Note that all of the build commands above will default to using
   770    770           #       the latest version of MSBuild available and the "test_year" may
   771    771           #       need to be adjusted accordingly to actually run the test suite.
   772    772           #       Refer to the comments in [getBuildYear] for more information on
   773    773           #       how to set this variable.
   774    774           #
   775         -        set native [hasRuntimeOption native]
          775  +        set native [expr {!$managedOnly && [hasRuntimeOption native]}]
   776    776   
   777    777           return [joinBuildDirectory $native [getBuildBaseDirectory] \
   778    778               [getBuildYear] [getBuildPlatform $native] [getBuildConfiguration]]
   779    779         }
   780    780       }
   781    781   
   782    782       proc getReleaseVersion {} {
................................................................................
   797    797           #       It is important to return an empty string here because the
   798    798           #       result of this procedure may be used with [file join].
   799    799           #
   800    800           return ""
   801    801         }
   802    802       }
   803    803   
   804         -    proc getBuildFileName { fileName {platform ""} } {
          804  +    proc getBuildFileName { fileName managedOnly {platform ""} } {
   805    805         #
   806    806         # NOTE: Returns the specified file name as if it were located in the
   807    807         #       build directory, discarding any directory information present
   808    808         #       in the file name as provided by our caller.
   809    809         #
   810    810         set result [file nativename \
   811         -          [file join [getBuildDirectory] $platform [file tail $fileName]]]
          811  +          [file join [getBuildDirectory $managedOnly] $platform \
          812  +          [file tail $fileName]]]
   812    813   
   813    814         #
   814    815         # HACK: When running on WoW64, assume the test executables are present
   815    816         #       with the "32" suffix on them.
   816    817         #
   817    818         if {[isRunningWoW64] && [file extension $result] eq ".exe"} then {
   818    819           set result [appendArgs [file rootname $result] 32.exe]
................................................................................
  1267   1268           tputs $::test_channel [appendArgs \
  1268   1269               "---- failed to copy external file from \"" $sourceFileName \
  1269   1270               "\" to \"" $targetFileName \"\n]
  1270   1271         }
  1271   1272       }
  1272   1273   
  1273   1274       proc tryCopyBinaryFile {
  1274         -            fileName {platform ""} {newFileName ""} {verbose true} } {
         1275  +            fileName managedOnly {platform ""} {newFileName ""}
         1276  +            {verbose true} } {
  1275   1277         set sourceFileName [getBinaryFileName $fileName $platform]
  1276   1278   
  1277   1279         if {![file exists $sourceFileName]} then {
  1278   1280           if {$verbose} then {
  1279   1281             tputs $::test_channel [appendArgs \
  1280   1282                 "---- skipped copying binary file \"" $sourceFileName \
  1281   1283                 "\", it does not exist\n"]
  1282   1284           }
  1283   1285   
  1284   1286           return
  1285   1287         }
  1286   1288   
  1287   1289         if {[string length $newFileName] > 0} then {
  1288         -        set targetFileName [getBuildFileName $newFileName $platform]
         1290  +        set targetFileName [getBuildFileName \
         1291  +            $newFileName $managedOnly $platform]
  1289   1292         } else {
  1290         -        set targetFileName [getBuildFileName $fileName $platform]
         1293  +        set targetFileName [getBuildFileName \
         1294  +            $fileName $managedOnly $platform]
  1291   1295         }
  1292   1296   
  1293   1297         set targetDirectory [file dirname $targetFileName]
  1294   1298   
  1295   1299         if {[catch {
  1296   1300           if {![file exists $targetDirectory]} then {
  1297   1301             file mkdir $targetDirectory
................................................................................
  1306   1310           tputs $::test_channel [appendArgs \
  1307   1311               "---- failed to copy binary file from \"" $sourceFileName \
  1308   1312               "\" to \"" $targetFileName \"\n]
  1309   1313         }
  1310   1314       }
  1311   1315   
  1312   1316       proc tryCopyBuildFile {
  1313         -            fileName {platform ""} {newFileName ""} {verbose true} } {
  1314         -      set sourceFileName [getBuildFileName $fileName $platform]
         1317  +            fileName managedOnly {platform ""} {newFileName ""}
         1318  +            {verbose true} } {
         1319  +      set sourceFileName [getBuildFileName $fileName $managedOnly $platform]
  1315   1320   
  1316   1321         if {![file exists $sourceFileName]} then {
  1317   1322           if {$verbose} then {
  1318   1323             tputs $::test_channel [appendArgs \
  1319   1324                 "---- skipped copying build file \"" $sourceFileName \
  1320   1325                 "\", it does not exist\n"]
  1321   1326           }
................................................................................
  1366   1371               "---- deleted binary file \"" $fileName \"\n]
  1367   1372         } else {
  1368   1373           tputs $::test_channel [appendArgs \
  1369   1374               "---- failed to delete binary file \"" $fileName \"\n]
  1370   1375         }
  1371   1376       }
  1372   1377   
  1373         -    proc tryDeleteBuildFile { fileName {platform ""} {verbose true} } {
  1374         -      set fileName [getBuildFileName $fileName $platform]
         1378  +    proc tryDeleteBuildFile {
         1379  +            fileName managedOnly {platform ""} {verbose true} } {
         1380  +      set fileName [getBuildFileName $fileName $managedOnly $platform]
  1375   1381   
  1376   1382         if {![file exists $fileName]} then {
  1377   1383           if {$verbose} then {
  1378   1384             tputs $::test_channel [appendArgs \
  1379   1385                 "---- skipped deleting build file \"" $fileName \
  1380   1386                 "\", it does not exist\n"]
  1381   1387           }
................................................................................
  1389   1395         } else {
  1390   1396           tputs $::test_channel [appendArgs \
  1391   1397               "---- failed to delete build file \"" $fileName \"\n]
  1392   1398         }
  1393   1399       }
  1394   1400   
  1395   1401       proc tryCopyAssembly {
  1396         -            fileName {platform ""} {pdb true} {verbose true} } {
  1397         -      tryCopyBuildFile $fileName $platform "" $verbose
         1402  +            fileName managedOnly {platform ""} {pdb true} {verbose true} } {
         1403  +      tryCopyBuildFile $fileName $managedOnly $platform "" $verbose
  1398   1404   
  1399   1405         if {$pdb} then {
  1400   1406           tryCopyBuildFile [appendArgs \
  1401         -            [file rootname $fileName] .pdb] $platform "" $verbose
         1407  +            [file rootname $fileName] .pdb] $managedOnly $platform "" $verbose
  1402   1408         }
  1403   1409       }
  1404   1410   
  1405   1411       proc tryDeleteAssembly {
  1406   1412               fileName {platform ""} {pdb true} {verbose true} } {
  1407   1413         tryDeleteBinaryFile $fileName $platform $verbose
  1408   1414   
................................................................................
  3712   3718                     "---- skipped loading per-host test settings file \"" \
  3713   3719                     $hostSettingsFileName "\", it does not exist\n"]
  3714   3720               }
  3715   3721             }
  3716   3722           }
  3717   3723         }
  3718   3724       }
         3725  +
         3726  +    proc copySampleDatabaseFiles {} {
         3727  +      uplevel 1 {
         3728  +        #
         3729  +        # NOTE: Copy (or re-copy) the reference database file used for this
         3730  +        #       unit test to the build directory in case it has been changed
         3731  +        #       by a previous test run.
         3732  +        #
         3733  +        file copy -force $northwindEfDbFile \
         3734  +          [file join [getBuildDirectory true] [file tail $northwindEfDbFile]]
         3735  +      }
         3736  +    }
  3719   3737   
  3720   3738       proc runSQLiteTestPrologue {} {
  3721   3739         #
  3722   3740         # NOTE: Skip running our custom prologue if the main one has been
  3723   3741         #       skipped.
  3724   3742         #
  3725   3743         if {![info exists ::no(prologue.eagle)]} then {
................................................................................
  3786   3804   
  3787   3805           eval lappend nativeFileNames [getNativeLibraryFileNamesOnly]
  3788   3806           eval lappend nativeFileNames [getInteropAssemblyFileNamesOnly]
  3789   3807   
  3790   3808           #
  3791   3809           # NOTE: Build the list of mixed-mode assembly files that we handle.
  3792   3810           #
  3793         -        set mixedFileNames [list System.Data.SQLite.dll]
         3811  +        set mixedFileNames [list]
         3812  +
         3813  +        if {[hasRuntimeOption native]} then {
         3814  +          lappend mixedFileNames System.Data.SQLite.dll
         3815  +        }
  3794   3816   
  3795   3817           #
  3796   3818           # NOTE: Build the list of managed assembly files that we handle.
  3797   3819           #
  3798   3820           set managedFileNames [list \
  3799         -            System.Data.SQLite.dll System.Data.SQLite.Linq.dll \
  3800         -            System.Data.SQLite.EF6.dll]
         3821  +            System.Data.SQLite.Linq.dll System.Data.SQLite.EF6.dll]
         3822  +
         3823  +        if {![hasRuntimeOption native]} then {
         3824  +          lappend managedFileNames System.Data.SQLite.dll
         3825  +        }
  3801   3826   
  3802   3827           #
  3803   3828           # NOTE: Show the various lists of file names that are handled by this
  3804   3829           #       procedure.
  3805   3830           #
  3806   3831           tputs $::test_channel [appendArgs \
  3807   3832               "---- list of \"configuration\" file names is: " \
................................................................................
  3867   3892                 foreach fileName $configFileNames {
  3868   3893                   tryDeleteBinaryFile $fileName
  3869   3894                 }
  3870   3895               }
  3871   3896   
  3872   3897               if {![info exists ::no(deleteSqliteExternalFiles)]} then {
  3873   3898                 foreach fileName $mdaConfigFileNames {
  3874         -                tryDeleteBuildFile $fileName
         3899  +                tryDeleteBuildFile $fileName false
  3875   3900                 }
  3876   3901   
  3877   3902                 foreach fileName $externalFileNames {
  3878   3903                   tryDeleteBinaryFile $fileName
  3879   3904                 }
  3880   3905               }
  3881   3906   
  3882   3907               if {![info exists ::no(deleteSqliteNativeFiles)]} then {
  3883         -              if {![info exists ::no(deleteSqliteImplicitFiles)]} then {
         3908  +              if {![info exists ::no(deleteSqliteImplicitNativeFiles)]} then {
  3884   3909                   foreach fileName $nativeFileNames {
  3885   3910                     tryDeleteAssembly $fileName
  3886   3911                   }
  3887   3912                 }
  3888   3913   
  3889   3914                 if {![info exists ::no(deleteSqliteNonImplicitFiles)]} then {
  3890   3915                   if {![info exists ::no(deleteSqlitePlatformFiles)] && \
................................................................................
  3900   3925                       tryDeleteAssembly $fileName $architecture
  3901   3926                     }
  3902   3927                   }
  3903   3928                 }
  3904   3929               }
  3905   3930   
  3906   3931               if {![info exists ::no(deleteSqliteMixedFiles)]} then {
         3932  +              #
         3933  +              # NOTE: If the "native" runtime option is set, delete implicit
         3934  +              #       mixed-mode assembly files as well.  This runtime option
         3935  +              #       check is handled when building the list of mixed-mode
         3936  +              #       assembly file names.
         3937  +              #
         3938  +              if {![info exists ::no(deleteSqliteImplicitMixedFiles)]} then {
         3939  +                foreach fileName $mixedFileNames {
         3940  +                  tryDeleteAssembly $fileName
         3941  +                }
         3942  +              }
         3943  +
  3907   3944                 if {![info exists ::no(deleteSqliteNonImplicitFiles)]} then {
  3908   3945                   if {![info exists ::no(deleteSqlitePlatformFiles)] && \
  3909   3946                       [string length $platform] > 0} then {
  3910   3947                     foreach fileName $mixedFileNames {
  3911   3948                       tryDeleteAssembly $fileName $platform
  3912   3949                     }
  3913   3950                   }
................................................................................
  3946   3983             #       testing process if it does not exist.
  3947   3984             #
  3948   3985             if {![info exists ::no(verifyBuildDirectory)]} then {
  3949   3986               #
  3950   3987               # NOTE: At this point, the build directory MUST exist as a
  3951   3988               #       valid directory for the testing process to continue.
  3952   3989               #
  3953         -            set directory [getBuildDirectory]
         3990  +            set directory [getBuildDirectory false]
  3954   3991   
  3955   3992               if {![file exists $directory] || \
  3956   3993                   ![file isdirectory $directory]} then {
  3957   3994                 #
  3958   3995                 # NOTE: Just prior to actually halting the testing process,
  3959   3996                 #       add an error to the test log file.
  3960   3997                 #
................................................................................
  3977   4014             #
  3978   4015             if {![info exists ::no(copySqliteFiles)]} then {
  3979   4016               if {![info exists ::no(copySqliteConfigFiles)]} then {
  3980   4017                 tputs $::test_channel \
  3981   4018                     "---- copying \"configuration\" files...\n"
  3982   4019   
  3983   4020                 foreach fileName $configFileNames {
  3984         -                tryCopyBuildFile $fileName
         4021  +                tryCopyBuildFile $fileName false
  3985   4022                 }
  3986   4023               }
  3987   4024   
  3988   4025               if {![info exists ::no(copySqliteExternalFiles)]} then {
  3989   4026                 #
  3990   4027                 # NOTE: Copy the Managed Debugging Assistants (MDA) configuration
  3991   4028                 #       file for the Eagle shell to the build output directory,
................................................................................
  3994   4031                 #       legacy tests run with exactly the same set of Managed
  3995   4032                 #       Debugging Assistants configured.
  3996   4033                 #
  3997   4034                 tputs $::test_channel \
  3998   4035                     "---- copying \"MDA configuration\" files...\n"
  3999   4036   
  4000   4037                 foreach fileName $mdaConfigFileNames {
  4001         -                tryCopyBinaryFile EagleShell.exe.mda.config "" $fileName
         4038  +                tryCopyBinaryFile EagleShell.exe.mda.config true "" $fileName
  4002   4039                 }
  4003   4040   
  4004   4041                 #
  4005   4042                 # NOTE: Copy the external binaries, if any, to the directory that
  4006   4043                 #       contains the Eagle shell.  This is typically used to make
  4007   4044                 #       sure assemblies referenced by the ones being tested are
  4008   4045                 #       available during the testing process.
................................................................................
  4016   4053   
  4017   4054               if {![info exists ::no(copySqliteNativeFiles)]} then {
  4018   4055                 #
  4019   4056                 # NOTE: If the test platform is likely the default for this
  4020   4057                 #       machine, also try to copy the native files to the
  4021   4058                 #       binary location.
  4022   4059                 #
  4023         -              if {![info exists ::no(copySqliteImplicitFiles)] && \
         4060  +              if {![info exists ::no(copySqliteImplicitNativeFiles)] && \
  4024   4061                     [isDefaultBuildPlatform]} then {
  4025   4062                   tputs $::test_channel \
  4026   4063                       "---- copying implicit \"native\" files...\n"
  4027   4064   
  4028   4065                   foreach fileName $nativeFileNames {
  4029         -                  tryCopyAssembly $fileName
         4066  +                  tryCopyAssembly $fileName false
  4030   4067                   }
  4031   4068                 }
  4032   4069   
  4033   4070                 if {![info exists ::no(copySqliteNonImplicitFiles)]} then {
  4034   4071                   if {![info exists ::no(copySqlitePlatformFiles)] && \
  4035   4072                       [string length $platform] > 0} then {
  4036   4073                     tputs $::test_channel [appendArgs \
  4037   4074                         "---- copying \"native\" files for platform \"" \
  4038   4075                         $platform \"...\n]
  4039   4076   
  4040   4077                     foreach fileName $nativeFileNames {
  4041         -                    tryCopyAssembly $fileName $platform
         4078  +                    tryCopyAssembly $fileName false $platform
  4042   4079                     }
  4043   4080                   }
  4044   4081   
  4045   4082                   if {![info exists ::no(copySqliteArchitectureFiles)] && \
  4046   4083                       [string length $architecture] > 0} then {
  4047   4084                     tputs $::test_channel [appendArgs \
  4048   4085                         "---- copying \"native\" files for architecture \"" \
  4049   4086                         $architecture \"...\n]
  4050   4087   
  4051   4088                     foreach fileName $nativeFileNames {
  4052         -                    tryCopyAssembly $fileName $architecture
         4089  +                    tryCopyAssembly $fileName false $architecture
  4053   4090                     }
  4054   4091                   }
  4055   4092                 }
  4056   4093               }
  4057   4094   
  4058   4095               if {![info exists ::no(copySqliteMixedFiles)]} then {
         4096  +              #
         4097  +              # NOTE: If the "native" runtime option is set, copy implicit
         4098  +              #       mixed-mode assembly files as well.  The runtime option
         4099  +              #       check is handled when building the list of mixed-mode
         4100  +              #       assembly file names.
         4101  +              #
         4102  +              if {![info exists ::no(copySqliteImplicitMixedFiles)]} then {
         4103  +                tputs $::test_channel \
         4104  +                    "---- copying implicit \"mixed\" files...\n"
         4105  +
         4106  +                foreach fileName $mixedFileNames {
         4107  +                  tryCopyAssembly $fileName false
         4108  +                }
         4109  +              }
         4110  +
  4059   4111                 if {![info exists ::no(copySqliteNonImplicitFiles)]} then {
  4060   4112                   if {![info exists ::no(copySqlitePlatformFiles)] && \
  4061   4113                       [string length $platform] > 0} then {
  4062   4114                     tputs $::test_channel [appendArgs \
  4063   4115                         "---- copying \"mixed\" files for platform \"" \
  4064   4116                         $platform \"...\n]
  4065   4117   
  4066   4118                     foreach fileName $mixedFileNames {
  4067         -                    tryCopyAssembly $fileName $platform
         4119  +                    tryCopyAssembly $fileName false $platform
  4068   4120                     }
  4069   4121                   }
  4070   4122   
  4071   4123                   if {![info exists ::no(copySqliteArchitectureFiles)] && \
  4072   4124                       [string length $architecture] > 0} then {
  4073   4125                     tputs $::test_channel [appendArgs \
  4074   4126                         "---- copying \"mixed\" files for architecture \"" \
  4075   4127                         $architecture \"...\n]
  4076   4128   
  4077   4129                     foreach fileName $mixedFileNames {
  4078         -                    tryCopyAssembly $fileName $architecture
         4130  +                    tryCopyAssembly $fileName false $architecture
  4079   4131                     }
  4080   4132                   }
  4081   4133                 }
  4082   4134               }
  4083   4135   
  4084   4136               if {![info exists ::no(copySqliteManagedFiles)]} then {
  4085   4137                 tputs $::test_channel "---- copying \"managed\" files...\n"
  4086   4138   
  4087   4139                 foreach fileName $managedFileNames {
  4088         -                tryCopyAssembly $fileName
         4140  +                tryCopyAssembly $fileName true
  4089   4141                 }
  4090   4142               }
  4091   4143             }
  4092   4144   
  4093   4145             #
  4094   4146             # NOTE: Skip trying to load any files if instructed.
  4095   4147             #
................................................................................
  4116   4168                     [string length $architecture] > 0} then {
  4117   4169                   tryLoadAssembly System.Data.SQLite.dll $architecture
  4118   4170                 }
  4119   4171               }
  4120   4172             }
  4121   4173           }
  4122   4174   
  4123         -        foreach fileNameOnly [getNativeLibraryFileNamesOnly] {
         4175  +        foreach fileNameOnly $nativeFileNames {
         4176  +          catch {
         4177  +            tputs $::test_channel [appendArgs \
         4178  +                "---- file version of \"" $fileNameOnly "\"... \"" \
         4179  +                [file version [getBinaryFileName $fileNameOnly]] \"\n]
         4180  +          }
         4181  +        }
         4182  +
         4183  +        foreach fileNameOnly $mixedFileNames {
  4124   4184             catch {
  4125   4185               tputs $::test_channel [appendArgs \
  4126   4186                   "---- file version of \"" $fileNameOnly "\"... \"" \
  4127   4187                   [file version [getBinaryFileName $fileNameOnly]] \"\n]
  4128   4188             }
  4129   4189           }
  4130   4190   
  4131         -        foreach fileNameOnly [getInteropAssemblyFileNamesOnly] {
         4191  +        foreach fileNameOnly $managedFileNames {
  4132   4192             catch {
  4133   4193               tputs $::test_channel [appendArgs \
  4134   4194                   "---- file version of \"" $fileNameOnly "\"... \"" \
  4135   4195                   [file version [getBinaryFileName $fileNameOnly]] \"\n]
  4136   4196             }
  4137   4197           }
  4138   4198   
  4139         -        catch {
  4140         -          tputs $::test_channel [appendArgs \
  4141         -              "---- file version of \"System.Data.SQLite.dll\"... \"" \
  4142         -              [file version [getBinaryFileName System.Data.SQLite.dll]] \"\n]
  4143         -        }
  4144         -
  4145         -        catch {
  4146         -          tputs $::test_channel [appendArgs \
  4147         -              "---- file version of \"System.Data.SQLite.Linq.dll\"... \"" \
  4148         -              [file version [getBinaryFileName System.Data.SQLite.Linq.dll]] \
  4149         -              \"\n]
  4150         -        }
  4151         -
  4152         -        catch {
  4153         -          tputs $::test_channel [appendArgs \
  4154         -              "---- file version of \"System.Data.SQLite.EF6.dll\"... \"" \
  4155         -              [file version [getBinaryFileName System.Data.SQLite.EF6.dll]] \
  4156         -              \"\n]
  4157         -        }
  4158         -
  4159   4199           if {[string length $platform] > 0} then {
  4160         -          foreach fileNameOnly [getNativeLibraryFileNamesOnly] {
         4200  +          foreach fileNameOnly $nativeFileNames {
         4201  +            catch {
         4202  +              tputs $::test_channel [appendArgs \
         4203  +                  "---- file version of \"" $platform \
         4204  +                  / $fileNameOnly "\"... \"" [file version \
         4205  +                  [getBinaryFileName $fileNameOnly $platform]] \"\n]
         4206  +            }
         4207  +          }
         4208  +
         4209  +          foreach fileNameOnly $mixedFileNames {
  4161   4210               catch {
  4162   4211                 tputs $::test_channel [appendArgs \
  4163   4212                     "---- file version of \"" $platform \
  4164   4213                     / $fileNameOnly "\"... \"" [file version \
  4165   4214                     [getBinaryFileName $fileNameOnly $platform]] \"\n]
  4166   4215               }
  4167   4216             }
  4168         -
  4169         -          foreach fileNameOnly [getInteropAssemblyFileNamesOnly] {
  4170         -            catch {
  4171         -              tputs $::test_channel [appendArgs \
  4172         -                  "---- file version of \"" $platform \
  4173         -                  / $fileNameOnly "\"... \"" [file version \
  4174         -                  [getBinaryFileName $fileNameOnly $platform]] \"\n]
  4175         -            }
  4176         -          }
  4177         -
  4178         -          catch {
  4179         -            tputs $::test_channel [appendArgs \
  4180         -                "---- file version of \"" $platform \
  4181         -                "/System.Data.SQLite.dll\"... \"" [file version \
  4182         -                [getBinaryFileName System.Data.SQLite.dll $platform]] \"\n]
  4183         -          }
  4184   4217           }
  4185   4218   
  4186   4219           if {[string length $architecture] > 0} then {
  4187         -          foreach fileNameOnly [getNativeLibraryFileNamesOnly] {
         4220  +          foreach fileNameOnly $nativeFileNames {
  4188   4221               catch {
  4189   4222                 tputs $::test_channel [appendArgs \
  4190   4223                     "---- file version of \"" $architecture \
  4191   4224                     / $fileNameOnly "\"... \"" [file version \
  4192   4225                     [getBinaryFileName $fileNameOnly $architecture]] \"\n]
  4193   4226               }
  4194   4227             }
  4195   4228   
  4196         -          catch {
  4197         -            tputs $::test_channel [appendArgs \
  4198         -                "---- file version of \"" $architecture \
  4199         -                / $fileNameOnly "\"... \"" [file version \
  4200         -                [getBinaryFileName $fileNameOnly $architecture]] \"\n]
  4201         -          }
  4202         -
  4203         -          catch {
  4204         -            tputs $::test_channel [appendArgs \
  4205         -                "---- file version of \"" $architecture \
  4206         -                "/System.Data.SQLite.dll\"... \"" [file version \
  4207         -                [getBinaryFileName System.Data.SQLite.dll $architecture]] \
  4208         -                \"\n]
         4229  +          foreach fileNameOnly $mixedFileNames {
         4230  +            catch {
         4231  +              tputs $::test_channel [appendArgs \
         4232  +                  "---- file version of \"" $architecture \
         4233  +                  / $fileNameOnly "\"... \"" [file version \
         4234  +                  [getBinaryFileName $fileNameOnly $architecture]] \"\n]
         4235  +            }
  4209   4236             }
  4210   4237           }
  4211   4238   
  4212   4239           #
  4213   4240           # NOTE: Grab the list of managed assemblies for the current process
  4214   4241           #       and report on the System.Data.SQLite related ones.
  4215   4242           #
................................................................................
  4311   4338               CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \
  4312   4339               INTEROP_EXTENSION_FUNCTIONS INTEROP_FTS5_EXTENSION \
  4313   4340               INTEROP_INCLUDE_CEROD INTEROP_INCLUDE_EXTRA INTEROP_INCLUDE_SEE \
  4314   4341               INTEROP_INCLUDE_ZIPVFS INTEROP_JSON1_EXTENSION \
  4315   4342               INTEROP_LEGACY_CLOSE INTEROP_LOG INTEROP_PERCENTILE_EXTENSION \
  4316   4343               INTEROP_REGEXP_EXTENSION INTEROP_TEST_EXTENSION \
  4317   4344               INTEROP_TOTYPE_EXTENSION INTEROP_VIRTUAL_TABLE NET_20 NET_35 \
  4318         -            NET_40 NET_45 NET_451 NET_452 NET_46 NET_461 NET_COMPACT_20 \
  4319         -            PLATFORM_COMPACTFRAMEWORK PRELOAD_NATIVE_LIBRARY RETARGETABLE \
  4320         -            SQLITE_STANDARD THROW_ON_DISPOSED TRACE TRACE_CONNECTION \
  4321         -            TRACE_DETECTION TRACE_HANDLE TRACE_PRELOAD TRACE_SHARED \
  4322         -            TRACE_STATEMENT TRACE_WARNING TRACK_MEMORY_BYTES \
         4345  +            NET_40 NET_45 NET_451 NET_452 NET_46 NET_461 NET_462 \
         4346  +            NET_COMPACT_20 PLATFORM_COMPACTFRAMEWORK PRELOAD_NATIVE_LIBRARY \
         4347  +            RETARGETABLE SQLITE_STANDARD THROW_ON_DISPOSED TRACE \
         4348  +            TRACE_CONNECTION TRACE_DETECTION TRACE_HANDLE TRACE_PRELOAD \
         4349  +            TRACE_SHARED TRACE_STATEMENT TRACE_WARNING TRACK_MEMORY_BYTES \
  4323   4350               USE_ENTITY_FRAMEWORK_6 USE_INTEROP_DLL USE_PREPARE_V2 WINDOWS] {
  4324   4351             #
  4325   4352             # NOTE: Check if the compile-time option is listed in the list of
  4326   4353             #       "define constants" kept track of by the managed assembly.
  4327   4354             #
  4328   4355             checkForSQLiteDefineConstant $::test_channel $defineConstant
  4329   4356           }
................................................................................
  4511   4538       proc runSQLiteTestFilesPrologue {} {
  4512   4539         uplevel 1 {
  4513   4540           #
  4514   4541           # NOTE: Setup the variables that refer to the various non-data files
  4515   4542           #       required by the tests in this file.
  4516   4543           #
  4517   4544           set entityFrameworkDllFile \
  4518         -            [getBuildFileName EntityFramework.dll]
         4545  +            [getBuildFileName EntityFramework.dll true]
  4519   4546   
  4520         -        set installerExeFile [getBuildFileName Installer.exe]
  4521         -        set sqliteDesignerDllFile [getBuildFileName SQLite.Designer.dll]
         4547  +        set installerExeFile \
         4548  +            [getBuildFileName Installer.exe true]
         4549  +
         4550  +        set sqliteDesignerDllFile \
         4551  +            [getBuildFileName SQLite.Designer.dll true]
  4522   4552   
  4523   4553           set systemDataSQLiteDllFile \
  4524         -            [getBuildFileName System.Data.SQLite.dll]
         4554  +            [getBuildFileName System.Data.SQLite.dll \
         4555  +            [expr {![hasRuntimeOption native]}]]
  4525   4556   
  4526   4557           set systemDataSQLiteLinqDllFile \
  4527         -            [getBuildFileName System.Data.SQLite.Linq.dll]
         4558  +            [getBuildFileName System.Data.SQLite.Linq.dll true]
  4528   4559   
  4529   4560           set systemDataSQLiteEf6DllFile \
  4530         -            [getBuildFileName System.Data.SQLite.EF6.dll]
         4561  +            [getBuildFileName System.Data.SQLite.EF6.dll true]
  4531   4562   
  4532         -        set testExeFile [getBuildFileName test.exe]
  4533         -        set testLinqExeFile [getBuildFileName testlinq.exe]
  4534         -        set testEf6ExeFile [getBuildFileName testef6.exe]
         4563  +        set testExeFile [getBuildFileName test.exe true]
         4564  +        set testLinqExeFile [getBuildFileName testlinq.exe true]
         4565  +        set testEf6ExeFile [getBuildFileName testef6.exe true]
  4535   4566   
  4536   4567           #
  4537   4568           # NOTE: Setup the variables that refer to the various data files
  4538   4569           #       required by the tests in this file.
  4539   4570           #
  4540   4571           set testLinqOutFile [file nativename [file join \
  4541   4572               [getSQLiteTestDataPath] testlinq.out]]