Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Use built-in GAC handling provided by InnoSetup. Include and install Visual C++ runtime. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9a42ab969b7e938ab09a649a3af3c07c |
User & Date: | mistachkin 2011-04-08 08:17:57.818 |
Context
2011-04-08
| ||
08:35 | Disable prompt to remove GAC'd assembly on uninstall. Also, due to GAC and 'shared file' requirements, install assembly file to be GAC'd in its own directory. check-in: 3b8648f3d3 user: mistachkin tags: trunk | |
08:17 | Use built-in GAC handling provided by InnoSetup. Include and install Visual C++ runtime. check-in: 9a42ab969b user: mistachkin tags: trunk | |
05:14 | Add post-build step to copy interop dll to test directory (VS 2008). Also, add trailing backslash to VS 2010 post-build commands. check-in: a512f4ae40 user: mistachkin tags: trunk | |
Changes
Added Externals/MSVCPP/vcredist_x64_2008_SP1.exe.
cannot compute difference between binary files
Added Externals/MSVCPP/vcredist_x64_2010_SP1.exe.
cannot compute difference between binary files
Added Externals/MSVCPP/vcredist_x86_2008_SP1.exe.
cannot compute difference between binary files
Added Externals/MSVCPP/vcredist_x86_2010_SP1.exe.
cannot compute difference between binary files
Changes to Setup/SQLite.iss.
1 2 3 4 5 6 7 8 9 | [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/ | > | 1 2 3 4 5 6 7 8 9 10 | [Setup] AllowNoIcons=yes ArchitecturesInstallIn64BitMode=x64 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/ |
︙ | ︙ | |||
30 31 32 33 34 35 36 | NetFxSetupSubKeyName: String; NetFxIsInstalled: String; NetFx2Version: String; NetFx2SetupVersion: String; NetFx2HasServicePack: String; NetFx2ServicePack: Cardinal; | < < < < | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | NetFxSetupSubKeyName: String; NetFxIsInstalled: String; NetFx2Version: String; NetFx2SetupVersion: String; NetFx2HasServicePack: String; NetFx2ServicePack: Cardinal; NetFx2ErrorMessage: String; NetFx4Version: String; NetFx4SetupVersion: String; NetFx4HasServicePack: String; NetFx4ServicePack: Cardinal; NetFx4ErrorMessage: String; function CheckForNetFx2(NeedServicePack: Cardinal): Boolean; var SubKeyName: String; IsInstalled: Cardinal; HasServicePack: Cardinal; |
︙ | ︙ | |||
132 133 134 135 136 137 138 | if FileName <> '' then begin Result := Result + '\' + FileName; end; end; end; | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < > > > > > > > > > > > > > > > > < < < < < < | 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 | 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 ExtractAndInstallVcRuntime(var ResultCode: Integer): Boolean; begin ExtractTemporaryFile('vcredist_x86_2008_SP1.exe'); if Exec(ExpandConstant('{tmp}\vcredist_x86_2008_SP1.exe'), '/q', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then begin Result := True; end else begin Result := False; end; end; function InitializeSetup(): Boolean; var ResultCode: Integer; 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; 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; NetFx4ErrorMessage := 'The Microsoft .NET Framework v4.0 with Service Pack ' + IntToStr(NetFx4ServicePack) + ' or higher is required.'; if IsNetFx2Setup then begin Result := CheckForNetFx2(NetFx2ServicePack); |
︙ | ︙ | |||
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | 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] | > > > > > > > > > > > < < < < > | > | 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 | Result := CheckForNetFx4(NetFx4ServicePack); if not Result then begin MsgBox(NetFx4ErrorMessage, mbError, MB_OK); end; end; if Result then begin Result := ExtractAndInstallVcRuntime(ResultCode); if not Result then begin MsgBox('Failed to install Microsoft Visual C++ Runtime: ' + SysErrorMessage(ResultCode), 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: NGEN; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() 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: NGEN; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() [Dirs] Name: {app}\bin Name: {app}\doc [Files] Components: Application\Core\x86; Source: ..\Externals\MSVCPP\vcredist_x86_2008_SP1.exe; DestDir: {tmp}; Flags: dontcopy Components: Application; Source: ..\readme.htm; DestDir: {app}; Flags: restartreplace uninsrestartdelete isreadme Components: Application\Core\MSIL; Tasks: GAC; Source: ..\bin\Release\bin\System.Data.SQLite.dll; DestDir: {app}; StrongAssemblyName: "System.Data.SQLite, Version=1.0.67.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete sharedfile gacinstall 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 |