summaryrefslogtreecommitdiff
path: root/win/packaging/heidisql.wxi.in
blob: 831efb6971fdca4c5fb6066bb2d452eb432dcded (plain)
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
<Include>
<Property Id="HEIDISQLINSTALLED" Secure="yes">
<RegistrySearch Id="HeidiSQL"
          Root="HKLM"
          Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HeidiSQL_is1"
          Name="UninstallString"
          Type="raw"
          Win64="no"
/>
</Property>
<?define pluginlist=auth_gssapi_client.dll;mysql_clear_password.dll;sha256_password.dll;caching_sha2_password.dll;pvio_npipe.dll;dialog.dll;pvio_shmem.dll?>
<DirectoryRef Id="MariaDBShared">
  <Directory Id="D.HeidiSQL" Name="HeidiSQL">
   <Component Id="component.HeidiSQL" Guid="96ea3879-5320-4098-8f26-2f655d2f716c"  Win64="no">

    <File Id="heidisql.gpl.txt" Name="gpl.txt" Source="${HEIDISQL_DOWNLOAD_DIR}\gpl.txt" />
    <File Id="heidisql.heidisql.exe" Name="heidisql.exe" Source="${HEIDISQL_DOWNLOAD_DIR}\heidisql.exe" KeyPath="yes">
      <Shortcut Id="desktopHeidiSQL" Directory="DesktopFolder" Name="HeidiSQL" Advertise="yes"/>
    </File>
    <!--
      Forced file removal for heidisql.exe might be required.
      HeidiSQL is self-updating, thus the version that was installed by MSI not necessarily matches
      the version of the file on uninstall. MSI would not touch such file by default and leave it after
      uninstallation. We use RemoveFile to force delete in any case.
    -->
    <RemoveFile Id="Remove_HeidiSQL_exe" Name="heidisql.exe" On="uninstall" />
    <!-- remove readme.txt too, it's not included in HeidiSQL-9.1-Portable.zip -->
    <RemoveFile Id="Remove_readme_txt" Name="readme.txt" On="uninstall" />

    <File Id="heidisql.license.txt" Name="license.txt" Source="${HEIDISQL_DOWNLOAD_DIR}\license.txt" />
    </Component>
    <Component Id="component.HeidiSQL_MenuShortcut" Guid="*" Win64="no">
      <RegistryValue  Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\Uninstall" Name="shortcuts.heidisql" Value="1" Type="string" KeyPath="yes"  />
      <Shortcut Id="startmenuHeidiSQL" Directory="ShortcutFolder" Name="HeidiSQL"  Target="[D.HeidiSQL]\heidisql.exe"/>
    </Component>

    <Component Id="component.HeidiSQL_libmysql.dll" Guid="*" Win64="no">
      <File Id="heidisql.libmysql.dll" Name="libmysql.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libmysql.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libmysql_6.1.dll" Guid="*" Win64="no">
      <File Id="heidisql.libmysql_6.1.dll" Name="libmysql-6.1.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libmysql-6.1.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libmariadb.dll" Guid="*" Win64="no">
      <File Id="heidisql.libmariadb.dll" Name="libmariadb.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libmariadb.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libssl_1_1.dll" Guid="*" Win64="no">
      <File Id="heidisql.libssl_1_1.dll" Name="libssl-1_1.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libssl-1_1.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libpq_10.dll" Guid="*" Win64="no">
      <File Id="heidisql.libpq_10.dll" Name="libpq-10.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libpq-10.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libcrypto_1_1.dll" Guid="*" Win64="no">
      <File Id="heidisql.libcrypto_1_1.dll" Name="libcrypto-1_1.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libcrypto-1_1.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libintl_8.dll" Guid="*" Win64="no">
      <File Id="heidisql.libintl_8.dll" Name="libintl-8.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libintl-8.dll" />
    </Component>
    <Component Id="component.HeidiSQL_libiconv_2.dll" Guid="*" Win64="no">
      <File Id="heidisql.libiconv_2.dll" Name="libiconv-2.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\libiconv-2.dll" />
    </Component>
    <Component Id="component.HeidiSQL_sqlite3.dll" Guid="*" Win64="no">
      <File Id="heidisql.sqlite3.dll" Name="sqlite3.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\sqlite3.dll" />
    </Component>

    <Component Id="component.HeidiSQL_fbclient_4.0.dll" Guid="*" Win64="no">
      <File Id="fbclient4.0.dll" Name="fbclient-4.0.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\fbclient-4.0.dll" />
    </Component>
    <Component Id="component.HeidiSQL_gds32_14.1.dll" Guid="*" Win64="no">
      <File Id="gds32_14.1.dll" Name="gds32-14.1.dll" Source="${HEIDISQL_DOWNLOAD_DIR}\gds32-14.1.dll" />
    </Component>
    <Component Id="component.HeidiSQL_plink.exe" Guid="*" Win64="no">
     <File Id="plink.exe" Name="plink.exe" Source="${HEIDISQL_DOWNLOAD_DIR}\plink.exe" />
    </Component>

    <Component Id="component.HeidiSQL_LICENSE_openssl" Guid="*" Win64="no">
     <File Id="LICENSE_openssl" Name="LICENSE-openssl" Source="${HEIDISQL_DOWNLOAD_DIR}\LICENSE-openssl" />
    </Component>

    <?define functions_dblist=interbase;mariadb;mssql;mysql;postgresql;redshift;sqlite?>

    <?foreach db in $(var.functions_dblist) ?>
    <Component Id="component.HeidiSQL_functions_$(var.db).ini" Guid="*" Win64="no">
     <File Id="functions_$(var.db).ini" Name="functions-$(var.db).ini"
           Source="${HEIDISQL_DOWNLOAD_DIR}\functions-$(var.db).ini" />
    </Component>
    <?endforeach?>

    <Directory Id="D.HeidiSQL.plugins" Name="plugins">
      <?foreach dll in $(var.pluginlist) ?>
      <Component Id="component.HeidiSQL_$(var.dll)" Guid="*" Win64="no">
        <File Id="heidisql.$(var.dll)" Name="$(var.dll)" Source="${HEIDISQL_DOWNLOAD_DIR}\plugins\$(var.dll)" />
      </Component>
      <?endforeach?>
    </Directory>

    <Component Id="component.HeidiSQL_CleanupSettings" Guid="*" Win64="no">
     <Condition>HEIDISQLINSTALLED</Condition>
     <RegistryValue  Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\UninstallCleanupHeidiSQLSettings" Name="cleanup.heidisql" Value="1" Type="string" KeyPath="yes"  />
     <RemoveRegistryKey Id="HeidiSQL_RegistryCleanup" Root="HKCU" Key="SOFTWARE\HeidiSQL" Action="removeOnUninstall" />
    </Component>
  </Directory>
</DirectoryRef>

<ComponentGroup Id="HeidiSQL">
  <ComponentRef Id="component.HeidiSQL"/>
  <ComponentRef Id="component.HeidiSQL_MenuShortcut"/>
  <ComponentRef Id="component.HeidiSQL_libmysql.dll"/>
  <ComponentRef Id="component.HeidiSQL_libmariadb.dll"/>
  <ComponentRef Id="component.HeidiSQL_libssl_1_1.dll" />
  <ComponentRef Id="component.HeidiSQL_libpq_10.dll" />
  <ComponentRef Id="component.HeidiSQL_libcrypto_1_1.dll" />
  <ComponentRef Id="component.HeidiSQL_libintl_8.dll" />
  <ComponentRef Id="component.HeidiSQL_libiconv_2.dll" />
  <ComponentRef Id="component.HeidiSQL_sqlite3.dll" />
  <ComponentRef Id="component.HeidiSQL_libmysql_6.1.dll" />
  <ComponentRef Id="component.HeidiSQL_fbclient_4.0.dll" />
  <ComponentRef Id="component.HeidiSQL_gds32_14.1.dll" />
  <ComponentRef Id="component.HeidiSQL_plink.exe" />
  <ComponentRef Id="component.HeidiSQL_LICENSE_openssl" />
  <?foreach db in $(var.functions_dblist) ?>
    <ComponentRef Id="component.HeidiSQL_functions_$(var.db).ini" />
  <?endforeach?>
  <?foreach dll in $(var.pluginlist)?>
    <ComponentRef Id="component.HeidiSQL_$(var.dll)" />
  <?endforeach?>
  <ComponentRef Id="component.HeidiSQL_CleanupSettings"/>
</ComponentGroup>
</Include>