Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | First attempt at using InnoSetup for setup. Adjust default solution settings to favor using the custom 'SQLite.Interop.dll' instead of the standard 'sqlite3.dll'. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
19ee37dcd5474e974219de92139924dd |
User & Date: | mistachkin 2011-04-08 01:53:39.791 |
Context
2011-04-08
| ||
03:07 | Add another missing Linq file. check-in: 4528f3167e user: shaneh tags: trunk | |
01:53 | First attempt at using InnoSetup for setup. Adjust default solution settings to favor using the custom 'SQLite.Interop.dll' instead of the standard 'sqlite3.dll'. check-in: 19ee37dcd5 user: mistachkin tags: trunk | |
00:19 | Fix legacy build system for VS 2010. Properly link the SQLite.Interop assembly file with the NetModule and sign it. Also, correct the solution-to-project build configuration mappings. check-in: 4c948ec682 user: mistachkin tags: trunk | |
Changes
Changes to SQLite.NET.Settings.targets.
︙ | ︙ | |||
76 77 78 79 80 81 82 | NOTE: The suffix for the name of the build configuration directory . By default, this is an empty string. --> <ConfigurationSuffix Condition="'$(ConfigurationSuffix)' == ''"></ConfigurationSuffix> <!-- NOTE: For interaction with the native SQLite implementation, use the | | | | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | NOTE: The suffix for the name of the build configuration directory . By default, this is an empty string. --> <ConfigurationSuffix Condition="'$(ConfigurationSuffix)' == ''"></ConfigurationSuffix> <!-- NOTE: For interaction with the native SQLite implementation, use the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is enabled. This property is mutually exclusive with the "UseSqliteStandard" one, below. This should always be disabled in the project file that builds the NetModule target. --> <UseInteropDll Condition="'$(UseInteropDll)' == ''">true</UseInteropDll> <!-- NOTE: For interaction with the native SQLite implementation, use the standard DLL (i.e. "sqlite3.dll")? By default, this is disabled. This property is mutually exclusive with the "UseInteropDll" one, above. This should always be disabled in the project file that builds the NetModule target. --> <UseSqliteStandard Condition="'$(UseSqliteStandard)' == ''">false</UseSqliteStandard> <!-- NOTE: Is the project being built to support the .NET Compact Framework? --> <IsCompactFramework Condition="'$(IsCompactFramework)' == ''">false</IsCompactFramework> <!-- |
︙ | ︙ |
Added Setup/SQLite.iss.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | [Setup] AllowNoIcons=yes AlwaysShowComponentsList=no AppCopyright=Public Domain AppID={{02E43EC2-6B1C-45B5-9E48-941C3E1B204A} AppName=System.Data.SQLite AppPublisher=System.Data.SQLite Team AppPublisherURL=http://system.data.sqlite.org/ AppSupportURL=http://system.data.sqlite.org/ AppUpdatesURL=http://system.data.sqlite.org/ AppVerName=System.Data.SQLite v1.0.67 AppVersion=1.0.67.0 AppComments=The ADO.NET adapter for the SQLite database engine. AppReadmeFile={app}\README.HTM DefaultDirName={pf}\System.Data.SQLite DefaultGroupName=System.Data.SQLite OutputBaseFilename=System.Data.SQLite.Setup OutputManifestFile=System.Data.SQLite.Setup-manifest.txt SetupLogging=yes UninstallFilesDir={app}\uninstall ExtraDiskSpaceRequired=2097152 [Code] var IsNetFx2Setup : Boolean; IsNetFx4Setup : Boolean; NetFxSubKeyName: String; NetFxInstallRoot: String; NetFxSetupSubKeyName: String; NetFxIsInstalled: String; NetFx2Version: String; NetFx2SetupVersion: String; NetFx2HasServicePack: String; NetFx2ServicePack: Cardinal; NetFx2SdkSubKeyName: String; NetFx2SdkInstallRoot: String; NetFx2ErrorMessage: String; NetFx4Version: String; NetFx4SetupVersion: String; NetFx4HasServicePack: String; NetFx4ServicePack: Cardinal; NetFx4SdkSubKeyName: String; NetFx4SdkInstallRoot: String; NetFx4ErrorMessage: String; function CheckForNetFx2(NeedServicePack: Cardinal): Boolean; var SubKeyName: String; IsInstalled: Cardinal; HasServicePack: Cardinal; begin Result := False; SubKeyName := NetFxSetupSubKeyName + '\' + NetFx2SetupVersion; if RegQueryDWordValue(HKEY_LOCAL_MACHINE, SubKeyName, NetFxIsInstalled, IsInstalled) then begin if IsInstalled <> 0 then begin if RegQueryDWordValue(HKEY_LOCAL_MACHINE, SubKeyName, NetFx2HasServicePack, HasServicePack) then begin if HasServicePack >= NeedServicePack then begin Result := True; end; end; end; end; end; function CheckForNetFx4(NeedServicePack: Cardinal): Boolean; var SubKeyName: String; IsInstalled: Cardinal; HasServicePack: Cardinal; begin Result := False; SubKeyName := NetFxSetupSubKeyName + '\' + NetFx4SetupVersion; if RegQueryDWordValue(HKEY_LOCAL_MACHINE, SubKeyName, NetFxIsInstalled, IsInstalled) then begin if IsInstalled <> 0 then begin if RegQueryDWordValue(HKEY_LOCAL_MACHINE, SubKeyName, NetFx4HasServicePack, HasServicePack) then begin if HasServicePack >= NeedServicePack then begin Result := True; end; end; end; end; end; function GetNetFx2InstallRoot(FileName: String): String; var InstallRoot: String; begin Result := ''; if RegQueryStringValue(HKEY_LOCAL_MACHINE, NetFxSubKeyName, NetFxInstallRoot, InstallRoot) then begin Result := InstallRoot + '\' + NetFx2Version; if FileName <> '' then begin Result := Result + '\' + FileName; end; end; end; function GetNetFx4InstallRoot(FileName: String): String; var InstallRoot: String; begin Result := ''; if RegQueryStringValue(HKEY_LOCAL_MACHINE, NetFxSubKeyName, NetFxInstallRoot, InstallRoot) then begin Result := InstallRoot + '\' + NetFx4Version; if FileName <> '' then begin Result := Result + '\' + FileName; end; end; end; function GetNetFx2SdkInstallRoot(FileName: String): String; var InstallRoot: String; begin Result := ''; if RegQueryStringValue(HKEY_LOCAL_MACHINE, NetFx2SdkSubKeyName, NetFx2SdkInstallRoot, InstallRoot) then begin Result := InstallRoot; if FileName <> '' then begin Result := Result + '\' + FileName; end; end; end; function GetNetFx4SdkInstallRoot(FileName: String): String; var InstallRoot: String; begin Result := ''; if RegQueryStringValue(HKEY_LOCAL_MACHINE, NetFx4SdkSubKeyName, NetFx4SdkInstallRoot, InstallRoot) then begin Result := InstallRoot; if FileName <> '' then begin Result := Result + '\' + FileName; end; end; end; function CheckIsNetFx2Setup(): Boolean; begin Result := IsNetFx2Setup; end; function CheckIsNetFx4Setup(): Boolean; begin Result := IsNetFx4Setup; end; function InitializeSetup(): Boolean; begin IsNetFx2Setup := True; IsNetFx4Setup := not IsNetFx2Setup; NetFxSubKeyName := 'Software\Microsoft\.NETFramework'; NetFxInstallRoot := 'InstallRoot'; NetFxSetupSubKeyName := 'Software\Microsoft\NET Framework Setup\NDP'; NetFxIsInstalled := 'Install'; NetFx2Version := 'v2.0.50727'; NetFx2SetupVersion := 'v2.0.50727'; NetFx2HasServicePack := 'SP'; NetFx2ServicePack := 2; NetFx2SdkSubKeyName := NetFxSubKeyName NetFx2SdkInstallRoot := 'sdkInstallRootv2.0'; NetFx2ErrorMessage := 'The Microsoft .NET Framework v2.0 with Service Pack ' + IntToStr(NetFx2ServicePack) + ' or higher is required.'; NetFx4Version := 'v4.0.30319'; NetFx4SetupVersion := 'v4\Full'; NetFx4HasServicePack := 'Servicing'; NetFx4ServicePack := 0; NetFx4SdkSubKeyName := 'Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools'; NetFx4SdkInstallRoot := 'InstallationFolder'; NetFx4ErrorMessage := 'The Microsoft .NET Framework v4.0 with Service Pack ' + IntToStr(NetFx4ServicePack) + ' or higher is required.'; if IsNetFx2Setup then begin Result := CheckForNetFx2(NetFx2ServicePack); if not Result then begin MsgBox(NetFx2ErrorMessage, mbError, MB_OK); end; end; if IsNetFx4Setup then begin Result := CheckForNetFx4(NetFx4ServicePack); if not Result then begin MsgBox(NetFx4ErrorMessage, mbError, MB_OK); end; end; end; [Components] Name: Application; Description: System.Data.SQLite components.; Types: custom compact full Name: Application\Core; Description: Core components.; Types: custom compact full Name: Application\Core\MSIL; Description: Core managed components.; Types: custom compact full Name: Application\Core\x86; Description: Core native components.; Types: custom compact full Name: Application\Symbols; Description: Debugging symbol components.; Types: custom compact full Name: Application\Documentation; Description: Documentation components.; Types: custom compact full Name: Application\Test; Description: Test components.; Types: custom compact full [Tasks] Components: Application\Core\MSIL; Name: GAC; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() Components: Application\Core\MSIL; Name: NGEN; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() [Run] Components: Application\Core\MSIL; Tasks: GAC; Filename: {code:GetNetFx2SdkInstallRoot|bin\Gacutil.exe}; Parameters: "/nologo /if ""{app}\bin\System.Data.SQLite.dll"""; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() Components: Application\Core\MSIL; Tasks: NGEN; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() Components: Application\Core\MSIL; Tasks: GAC; Filename: {code:GetNetFx4SdkInstallRoot|Gacutil.exe}; Parameters: "/nologo /if ""{app}\bin\System.Data.SQLite.dll"""; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() Components: Application\Core\MSIL; Tasks: NGEN; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() [UninstallRun] Components: Application\Core\MSIL; Tasks: NGEN; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() Components: Application\Core\MSIL; Tasks: GAC; Filename: {code:GetNetFx4SdkInstallRoot|Gacutil.exe}; Parameters: "/nologo /uf System.Data.SQLite"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() Components: Application\Core\MSIL; Tasks: NGEN; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() Components: Application\Core\MSIL; Tasks: GAC; Filename: {code:GetNetFx2SdkInstallRoot|bin\Gacutil.exe}; Parameters: "/nologo /uf System.Data.SQLite"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() [Dirs] Name: {app}\bin Name: {app}\doc [Files] Components: Application; Source: ..\readme.htm; DestDir: {app}; Flags: restartreplace uninsrestartdelete Components: Application\Core\MSIL; Source: ..\bin\Release\bin\System.Data.SQLite.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\MSIL and Application\Symbols; Source: ..\bin\Release\bin\System.Data.SQLite.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\x86; Source: ..\bin\Win32\ReleaseNativeOnly\SQLite.Interop.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\x86 and Application\Symbols; Source: ..\bin\Win32\ReleaseNativeOnly\SQLite.Interop.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Documentation; Source: ..\doc\SQLite.NET.chm; DestDir: {app}\doc; Flags: restartreplace uninsrestartdelete Components: Application\Test; Source: ..\bin\Release\bin\test.exe; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Test and Application\Symbols; Source: ..\bin\Release\bin\test.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Test; Source: ..\bin\Release\bin\test.exe.config; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete [Icons] Name: {group}\Test Suite; Filename: {app}\bin\test.exe; WorkingDir: {app}\bin; IconFilename: {app}\bin\test.exe; Comment: Launch Test Suite; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\Class Library Documentation; Filename: {app}\doc\SQLite.NET.chm; WorkingDir: {app}\doc; Comment: Launch Class Library Documentation; Flags: createonlyiffileexists Name: {group}\README File; Filename: {app}\readme.htm; WorkingDir: {app}; Comment: View README File; Flags: createonlyiffileexists |