|
4 | 4 | <!-- $(ProductVersion) — e.g. 3.5.0.0 --> |
5 | 5 | <!-- $(DriverPath) — full path to FirebirdODBC.dll --> |
6 | 6 | <!-- $(Configuration) — Debug or Release --> |
| 7 | + <!-- $(TargetArch) — x86, x64, or arm64 --> |
7 | 8 |
|
8 | 9 | <?define DriverName = "Firebird ODBC Driver" ?> |
9 | 10 |
|
|
13 | 14 | <?define DriverName = "Firebird ODBC Driver (Debug)" ?> |
14 | 15 | <?endif?> |
15 | 16 |
|
| 17 | + <!-- Architecture-specific settings: system folder and UpgradeCode --> |
| 18 | + <!-- Each architecture gets a unique UpgradeCode so they can coexist --> |
| 19 | + <?if $(TargetArch) = "x86" ?> |
| 20 | + <?define SystemDir = "SystemFolder" ?> |
| 21 | + <?define UpgradeGuid = "D1A2B3C4-5E6F-7A8B-9C0D-1E2F3A4B5C6D" ?> |
| 22 | + <?elseif $(TargetArch) = "arm64" ?> |
| 23 | + <?define SystemDir = "System64Folder" ?> |
| 24 | + <?define UpgradeGuid = "E2B3C4D5-6F7A-8B9C-0D1E-2F3A4B5C6D7E" ?> |
| 25 | + <?else?> |
| 26 | + <?define SystemDir = "System64Folder" ?> |
| 27 | + <?define UpgradeGuid = "A7F3E2B1-4C5D-6E7F-8A9B-0C1D2E3F4A5B" ?> |
| 28 | + <?endif?> |
| 29 | + |
16 | 30 | <Package |
17 | 31 | Name="$(DriverName)" |
18 | 32 | Manufacturer="Firebird Foundation" |
19 | 33 | Version="$(ProductVersion)" |
20 | | - UpgradeCode="A7F3E2B1-4C5D-6E7F-8A9B-0C1D2E3F4A5B" |
| 34 | + UpgradeCode="$(UpgradeGuid)" |
21 | 35 | Scope="perMachine" |
22 | 36 | Compressed="yes"> |
23 | 37 |
|
|
27 | 41 | <MediaTemplate EmbedCab="yes" /> |
28 | 42 |
|
29 | 43 | <!-- The driver DLL --> |
30 | | - <StandardDirectory Id="System64Folder"> |
| 44 | + <StandardDirectory Id="$(SystemDir)"> |
31 | 45 | <Component Id="DriverDLL" Guid="B8F4E3C2-5D6E-7F8A-9B0C-1D2E3F4A5B6C"> |
32 | 46 | <File Id="FirebirdODBCDll" |
33 | 47 | Source="$(DriverPath)" |
|
37 | 51 | </StandardDirectory> |
38 | 52 |
|
39 | 53 | <!-- ODBC Driver registration --> |
40 | | - <Component Id="OdbcDriverReg" Directory="System64Folder" |
| 54 | + <Component Id="OdbcDriverReg" Directory="$(SystemDir)" |
41 | 55 | Guid="C9F5E4D3-6E7F-8A9B-0C1D-2E3F4A5B6C7D"> |
42 | 56 | <RegistryKey Root="HKLM" Key="SOFTWARE\ODBC\ODBCINST.INI\$(DriverName)"> |
43 | | - <RegistryValue Name="Driver" Type="string" Value="[System64Folder]FirebirdODBC.dll" /> |
44 | | - <RegistryValue Name="Setup" Type="string" Value="[System64Folder]FirebirdODBC.dll" /> |
| 57 | + <RegistryValue Name="Driver" Type="string" Value="[$(SystemDir)]FirebirdODBC.dll" /> |
| 58 | + <RegistryValue Name="Setup" Type="string" Value="[$(SystemDir)]FirebirdODBC.dll" /> |
45 | 59 | <RegistryValue Name="APILevel" Type="string" Value="1" /> |
46 | 60 | <RegistryValue Name="ConnectFunctions" Type="string" Value="YYY" /> |
47 | 61 | <RegistryValue Name="DriverODBCVer" Type="string" Value="03.51" /> |
|
0 commit comments