1/* 2 * Portions Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") 3 * Portions Copyright (C) 2001 Internet Software Consortium. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 * PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18/* $Id: BINDInstallDlg.h,v 1.11 2009/09/01 06:51:47 marka Exp $ */ 19 20/* 21 * Copyright (c) 1999-2000 by Nortel Networks Corporation 22 * 23 * Permission to use, copy, modify, and distribute this software for any 24 * purpose with or without fee is hereby granted, provided that the above 25 * copyright notice and this permission notice appear in all copies. 26 * 27 * THE SOFTWARE IS PROVIDED "AS IS" AND NORTEL NETWORKS DISCLAIMS 28 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 29 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NORTEL NETWORKS 30 * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES 31 * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 32 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 33 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 34 * SOFTWARE. 35 */ 36 37#ifndef BINDINSTALLDLG_H 38#define BINDINSTALLDLG_H 39 40class CBINDInstallDlg : public CDialog 41{ 42public: 43 CBINDInstallDlg(CWnd* pParent = NULL); // standard constructor 44 45 //{{AFX_DATA(CBINDInstallDlg) 46 enum { IDD = IDD_BINDINSTALL_DIALOG }; 47 CString m_targetDir; 48 CString m_version; 49 BOOL m_autoStart; 50 BOOL m_keepFiles; 51 BOOL m_toolsOnly; 52 CString m_current; 53 BOOL m_startOnInstall; 54 //}}AFX_DATA 55 56 // ClassWizard generated virtual function overrides 57 //{{AFX_VIRTUAL(CBINDInstallDlg) 58 protected: 59 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 60 //}}AFX_VIRTUAL 61 62protected: 63 void StartBINDService(); 64 void StopBINDService(); 65 66 void InstallTags(); 67 void UninstallTags(); 68 69 void CreateDirs(); 70 void RemoveDirs(BOOL uninstall); 71 72 void CopyFiles(); 73 void DeleteFiles(BOOL uninstall); 74 75 void RegisterService(); 76 void UpdateService(CString StartName); 77 void UnregisterService(BOOL uninstall); 78 79 void RegisterMessages(); 80 void UnregisterMessages(BOOL uninstall); 81 82 void FailedInstall(); 83 void SetItemStatus(UINT nID, BOOL bSuccess = TRUE); 84 85 void GetCurrentServiceAccountName(); 86 BOOL ValidateServiceAccount(); 87protected: 88 CString DestDir(int destination); 89 int MsgBox(int id, ...); 90 int MsgBox(int id, UINT type, ...); 91 CString GetErrMessage(DWORD err = -1); 92 BOOL CheckBINDService(); 93 void SetCurrent(int id, ...); 94 void ProgramGroup(BOOL create = TRUE); 95 96 HICON m_hIcon; 97 CString m_defaultDir; 98 CString m_etcDir; 99 CString m_binDir; 100 CString m_winSysDir; 101 BOOL m_installed; 102 CString m_currentDir; 103 BOOL m_accountExists; 104 BOOL m_accountUsed; 105 CString m_currentAccount; 106 CString m_accountName; 107 CString m_accountPasswordConfirm; 108 CString m_accountPassword; 109 BOOL m_serviceExists; 110 111 // Generated message map functions 112 //{{AFX_MSG(CBINDInstallDlg) 113 virtual BOOL OnInitDialog(); 114 afx_msg void OnPaint(); 115 afx_msg HCURSOR OnQueryDragIcon(); 116 afx_msg void OnBrowse(); 117 afx_msg void OnChangeTargetdir(); 118 afx_msg void OnInstall(); 119 afx_msg void OnExit(); 120 afx_msg void OnUninstall(); 121 afx_msg void OnAutoStart(); 122 afx_msg void OnKeepFiles(); 123 afx_msg void OnStartOnInstall(); 124 //}}AFX_MSG 125 DECLARE_MESSAGE_MAP() 126}; 127 128#endif 129