/Gedemin/IBX/IBInstallHeader.pas

http://gedemin.googlecode.com/ · Pascal · 266 lines · 177 code · 38 blank · 51 comment · 0 complexity · 435a7719bb50b725e10ccca2d04f0ec0 MD5 · raw file

  1. {************************************************************************}
  2. { }
  3. { Borland Delphi Visual Component Library }
  4. { InterBase Express core components }
  5. { }
  6. { Copyright (c) 1998-2001 Borland Software Corporation }
  7. { }
  8. { InterBase Express is based in part on the product }
  9. { Free IB Components, written by Gregory H. Deatz for }
  10. { Hoagland, Longo, Moran, Dunst & Doukas Company. }
  11. { Free IB Components is used under license. }
  12. { }
  13. { The contents of this file are subject to the InterBase }
  14. { Public License Version 1.0 (the "License"); you may not }
  15. { use this file except in compliance with the License. You may obtain }
  16. { a copy of the License at http://www.borland.com/interbase/IPL.html }
  17. { Software distributed under the License is distributed on }
  18. { an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
  19. { express or implied. See the License for the specific language }
  20. { governing rights and limitations under the License. }
  21. { The Original Code was created by InterBase Software Corporation }
  22. { and its successors. }
  23. { Portions created by Borland Software Corporation are Copyright }
  24. { (C) Borland Software Corporation. All Rights Reserved. }
  25. { Contributor(s): Jeff Overcash }
  26. { }
  27. {************************************************************************}
  28. {
  29. InterBase Express provides component interfaces to
  30. functions introduced in InterBase 6.0. The Services
  31. components (TIB*Service, TIBServerProperties) and
  32. Install components (TIBInstall, TIBUninstall, TIBSetup)
  33. function only if you have installed InterBase 6.0 or
  34. later software
  35. }
  36. unit IBInstallHeader;
  37. interface
  38. { InterBase Install API interface }
  39. type
  40. OPTIONS_HANDLE = integer;
  41. POPTIONS_HANDLE = ^OPTIONS_HANDLE;
  42. MSG_NO = longint;
  43. OPT = longint;
  44. TEXT = PChar;
  45. FP_ERROR = function(IscCode: MSG_NO; UserContext: Pointer;
  46. const ActionDescription : TEXT): Integer; stdcall;
  47. FP_STATUS = function(Status: Integer; UserContext: Pointer;
  48. const ActionDescription: TEXT): Integer; stdcall;
  49. const
  50. IB_INSTALL_DLL = 'ibinstall.dll'; {do not localize}
  51. { These are the values the FP_ERROR routine can return. }
  52. isc_install_fp_retry = -1;
  53. isc_install_fp_continue = 0;
  54. isc_install_fp_abort = 1;
  55. { isc_install_get_info info_types }
  56. isc_install_info_destination = 1;
  57. isc_install_info_opspace = 2 ;
  58. isc_install_info_opname = 3 ;
  59. isc_install_info_opdescription = 4;
  60. ISC_INSTALL_MAX_MESSAGE_LEN = 300;
  61. ISC_INSTALL_MAX_MESSAGES = 200;
  62. ISC_INSTALL_MAX_PATH = 256;
  63. { Basic Components used to install InterBase }
  64. INTERBASE = 1000;
  65. IB_SERVER = 1001;
  66. IB_CLIENT = 1002;
  67. IB_CMD_TOOLS = 1003;
  68. IB_CMD_TOOLS_DB_MGMT = 1004;
  69. IB_CMD_TOOLS_USR_MGMT = 1005;
  70. IB_CMD_TOOLS_DB_QUERY = 1006;
  71. IB_GUI_TOOLS = 1007;
  72. IB_DOC = 1011;
  73. IB_EXAMPLES = 1012;
  74. IB_EXAMPLE_API = 1013;
  75. IB_EXAMPLE_DB = 1014;
  76. IB_DEV = 1015;
  77. IB_CONNECTIVITY_SERVER = 1100;
  78. IB_CONNECTIVITY = 1101;
  79. IB_ODBC_CLIENT = 1102;
  80. IB_JDBC_CLIENT = 1103;
  81. IB_OLEDB_CLIENT = 1104;
  82. { Error and warning codes }
  83. isc_install_optlist_empty = -1;
  84. isc_install_actlist_empty = -2;
  85. isc_install_fp_copy_delayed = -3;
  86. isc_install_fp_delete_delayed = -4;
  87. isc_install_option_not_found = -5;
  88. isc_install_msg_version = -6;
  89. isc_install_cant_load_msg = -7;
  90. isc_install_invalid_msg = -8;
  91. isc_install_invalid_tbl = -9;
  92. isc_install_cant_create_msg = -10;
  93. isc_install_handle_not_allocated = -11;
  94. isc_install_odbc_comp_notfound = -12;
  95. isc_install_cant_delete = -13;
  96. isc_install_cant_rmdir = -14;
  97. isc_install_key_nonempty = -15;
  98. isc_install_success = 0;
  99. { File and directory related errors }
  100. isc_install_file_error = isc_install_success;
  101. isc_install_path_not_valid = isc_install_file_error+1;
  102. isc_install_path_not_exists = isc_install_file_error+2;
  103. isc_install_cant_write = isc_install_file_error+3;
  104. isc_install_type_unknown = isc_install_file_error+4;
  105. isc_install_cant_move_file = isc_install_file_error+5;
  106. isc_install_device_not_valid = isc_install_file_error+6;
  107. isc_install_data_truncated = isc_install_file_error+7;
  108. isc_install_cant_get_temp = isc_install_file_error+8;
  109. isc_install_no_file = isc_install_file_error+9;
  110. isc_install_cant_load_lib = isc_install_file_error+10;
  111. isc_install_cant_lookup_lib = isc_install_file_error+11;
  112. isc_install_file_exists = isc_install_file_error+12;
  113. isc_install_cant_open_log = isc_install_file_error+13;
  114. isc_install_write_error = isc_install_file_error+14;
  115. isc_install_read_error = isc_install_file_error+15;
  116. isc_install_invalid_log = isc_install_file_error+16;
  117. isc_install_cant_read = isc_install_file_error+17;
  118. isc_install_no_diskspace = isc_install_file_error+18;
  119. isc_install_cant_create_dir = isc_install_file_error+19;
  120. isc_install_msg_syntax = isc_install_file_error+20;
  121. isc_install_fp_delete_error = isc_install_file_error+21;
  122. isc_install_fp_rename_error = isc_install_file_error+22;
  123. isc_install_fp_copy_error = isc_install_file_error+23;
  124. { Precheck related errors }
  125. isc_install_precheck_error = isc_install_file_error+24;
  126. isc_install_system_not_supported = isc_install_precheck_error;
  127. isc_install_server_running = isc_install_precheck_error+1;
  128. isc_install_classic_found = isc_install_precheck_error+2;
  129. isc_install_no_privileges = isc_install_precheck_error+3;
  130. isc_install_cant_get_free_space = isc_install_precheck_error+4;
  131. isc_install_guardian_running = isc_install_precheck_error+5;
  132. isc_install_invalid_option = isc_install_precheck_error+6;
  133. isc_install_invalid_handle = isc_install_precheck_error+7;
  134. isc_install_message_not_found = isc_install_precheck_error+8;
  135. { TCP/IP services related }
  136. isc_install_ip_error = isc_install_precheck_error+9;
  137. isc_install_no_stack = isc_install_ip_error;
  138. isc_install_cant_add_service = isc_install_ip_error+1;
  139. isc_install_invalid_port = isc_install_ip_error+2;
  140. isc_install_invalid_service = isc_install_ip_error+3;
  141. isc_install_no_proto = isc_install_ip_error+4;
  142. isc_install_no_services_entry = isc_install_ip_error+5;
  143. isc_install_sock_error = isc_install_ip_error+6;
  144. isc_install_conversion_error = isc_install_ip_error+7;
  145. { Operations errors }
  146. isc_install_op_error = isc_install_ip_error+8;
  147. isc_install_cant_copy = isc_install_op_error;
  148. isc_install_no_mem = isc_install_op_error+1;
  149. isc_install_queue_failed = isc_install_op_error+2;
  150. isc_install_invalid_param = isc_install_op_error+3;
  151. isc_install_fp_error_exception = isc_install_op_error+4;
  152. isc_install_fp_status_exception = isc_install_op_error+5;
  153. isc_install_user_aborted = isc_install_op_error+6;
  154. { Registry related errors }
  155. isc_install_reg_error = isc_install_op_error+7;
  156. isc_install_key_exists = isc_install_reg_error;
  157. isc_install_cant_create_key = isc_install_reg_error+1;
  158. isc_install_cant_set_value = isc_install_reg_error+2;
  159. isc_install_cant_open_key = isc_install_reg_error+3;
  160. isc_install_cant_delete_key = isc_install_reg_error+4;
  161. isc_install_cant_query_key = isc_install_reg_error+5;
  162. isc_install_cant_delete_value = isc_install_reg_error+6;
  163. { OS services related errors }
  164. isc_install_serv_error = isc_install_reg_error+7;
  165. isc_install_service_existed = isc_install_serv_error;
  166. isc_install_cant_create_service = isc_install_serv_error+1;
  167. isc_install_cant_open_service = isc_install_serv_error+2;
  168. isc_install_cant_query_service = isc_install_serv_error+3;
  169. isc_install_service_running = isc_install_serv_error+4;
  170. isc_install_cant_delete_service = isc_install_serv_error+5;
  171. isc_install_cant_open_manager = isc_install_serv_error+6;
  172. isc_install_system_error = isc_install_serv_error+7;
  173. isc_install_com_regfail = isc_install_serv_error+8;
  174. isc_install_dcom_required = isc_install_serv_error+9;
  175. { ODBC installation errors }
  176. isc_install_odbc_error = isc_install_serv_error+10;
  177. isc_install_odbc_general = isc_install_odbc_error;
  178. isc_install_core_version = isc_install_odbc_error+1;
  179. isc_install_drv_version = isc_install_odbc_error+2;
  180. isc_install_tran_version = isc_install_odbc_error+3;
  181. type
  182. Tisc_install_clear_options = function(hOption: POPTIONS_HANDLE):MSG_NO;
  183. stdcall;
  184. Tisc_install_execute = function (hOption: OPTIONS_HANDLE;
  185. src_dir: TEXT;
  186. dest_dir: TEXT;
  187. status_func: FP_STATUS;
  188. status_data: pointer;
  189. error_func: FP_ERROR;
  190. error_data: pointer;
  191. uninstal_file_name: TEXT):MSG_NO;
  192. stdcall;
  193. Tisc_install_get_info = function (info_type :integer;
  194. option :OPT;
  195. info_buffer : Pointer;
  196. buf_len : Cardinal): MSG_NO;
  197. stdcall;
  198. Tisc_install_get_message = function (hOption: OPTIONS_HANDLE;
  199. message_no: MSG_NO;
  200. message_txt: Pointer;
  201. message_len: Cardinal):MSG_NO;
  202. stdcall;
  203. Tisc_install_load_external_text = function (msg_file_name: TEXT):MSG_NO;
  204. stdcall;
  205. Tisc_install_precheck = function (hOption: OPTIONS_HANDLE;
  206. src_dir: TEXT;
  207. dest_dir: TEXT):MSG_NO;
  208. stdcall;
  209. Tisc_install_set_option = function (hOption: POPTIONS_HANDLE;
  210. option: OPT):MSG_NO;
  211. stdcall;
  212. Tisc_uninstall_execute = function (uninstall_file_name: TEXT;
  213. status_func: FP_STATUS;
  214. status_data: pointer;
  215. error_func: FP_ERROR;
  216. error_data: pointer):MSG_NO;
  217. stdcall;
  218. Tisc_uninstall_precheck = function (uninstall_file_name: TEXT):MSG_NO;
  219. stdcall;
  220. Tisc_install_unset_option = function (hOption: POPTIONS_HANDLE;
  221. option: OPT):MSG_NO;
  222. stdcall;
  223. implementation
  224. { EXECute ....check of Install mode and call Install_execute or unistall_execute }
  225. { raise an exception on error from the dll }
  226. { call the onWarning handler on warning from DLL }
  227. { GetSpaceAvailable -- call isc_install_get_info function }
  228. end.