2 * Copyright 2004 Huw D M Davies
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #ifndef __WINE_ADVPUB_H
19 #define __WINE_ADVPUB_H
25 typedef struct _CabInfo
{
29 char szSrcPath
[MAX_PATH
];
33 typedef struct _StrEntry
{
36 } STRENTRY
, *LPSTRENTRY
;
38 typedef const STRENTRY CSTRENTRY
;
39 typedef CSTRENTRY
*LPCSTRENTRY
;
41 typedef struct _StrTable
{
44 } STRTABLE
, *LPSTRTABLE
;
46 typedef const STRTABLE CSTRTABLE
;
47 typedef CSTRTABLE
*LPCSTRTABLE
;
53 /* Flags for AddDelBackupEntry */
54 #define AADBE_ADD_ENTRY 0x01
55 #define AADBE_DEL_ENTRY 0x02
57 /* Flags for AdvInstallFile */
58 #define AIF_WARNIFSKIP 0x00000001
59 #define AIF_NOSKIP 0x00000002
60 #define AIF_NOVERSIONCHECK 0x00000004
61 #define AIF_FORCE_FILE_IN_USE 0x00000008
62 #define AIF_NOOVERWRITE 0x00000010
63 #define AIF_NO_VERSION_DIALOG 0x00000020
64 #define AIF_REPLACEONLY 0x00000400
65 #define AIF_NOLANGUAGECHECK 0x10000000
66 #define AIF_QUIET 0x20000000
68 /* Flags for RunSetupCommand */
69 #define RSC_FLAG_INF 0x00000001
70 #define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002
71 #define RSC_FLAG_QUIET 0x00000004
72 #define RSC_FLAG_NGCONV 0x00000008
73 #define RSC_FLAG_UPDHLPDLLS 0x00000010
74 #define RSC_FLAG_DELAYREGISTEROCX 0x00000200
75 #define RSC_FLAG_SETUPAPI 0x00000400
77 /* Flags for DelNode */
78 #define ADN_DEL_IF_EMPTY 0x00000001
79 #define ADN_DONT_DEL_SUBDIRS 0x00000002
80 #define ADN_DONT_DEL_DIR 0x00000004
81 #define ADN_DEL_UNC_PATHS 0x00000008
83 /* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */
84 #define IE4_RESTORE 0x00000001
85 #define IE4_BACKNEW 0x00000002
86 #define IE4_NODELETENEW 0x00000004
87 #define IE4_NOMESSAGES 0x00000008
88 #define IE4_NOPROGRESS 0x00000010
89 #define IE4_NOENUMKEY 0x00000020
90 #define IE4_NO_CRC_MAPPING 0x00000040
91 #define IE4_REGSECTION 0x00000080
92 #define IE4_FRDOALL 0x00000100
93 #define IE4_UPDREFCNT 0x00000200
94 #define IE4_USEREFCNT 0x00000400
95 #define IE4_EXTRAINCREFCNT 0x00000800
97 /* Flags for file save and restore functions */
98 #define AFSR_RESTORE IE4_RESTORE
99 #define AFSR_BACKNEW IE4_BACKNEW
100 #define AFSR_NODELETENEW IE4_NODELETENEW
101 #define AFSR_NOMESSAGES IE4_NOMESSAGES
102 #define AFSR_NOPROGRESS IE4_NOPROGRESS
103 #define AFSR_UPDREFCNT IE4_UPDREFCNT
104 #define AFSR_USEREFCNT IE4_USEREFCNT
105 #define AFSR_EXTRAINCREFCNT IE4_EXTRAINCREFCNT
107 HRESULT WINAPI
AddDelBackupEntry(LPCSTR lpcszFileList
, LPCSTR lpcszBackupDir
,
108 LPCSTR lpcszBaseName
, DWORD dwFlags
);
109 HRESULT WINAPI
AdvInstallFile(HWND hwnd
, LPCSTR lpszSourceDir
,
110 LPCSTR lpszSourceFile
, LPCSTR lpszDestDir
, LPCSTR lpszDestFile
,
111 DWORD dwFlags
, DWORD dwReserved
);
112 HRESULT WINAPI
CloseINFEngine(HINF hInf
);
113 HRESULT WINAPI
DelNode(LPCSTR pszFileOrDirName
, DWORD dwFlags
);
114 HRESULT WINAPI
DelNodeRunDLL32(HWND
,HINSTANCE
,LPSTR
,INT
);
115 HRESULT WINAPI
ExecuteCab( HWND hwnd
, PCABINFO pCab
, LPVOID pReserved
);
116 HRESULT WINAPI
ExtractFiles(LPCSTR
,LPCSTR
,DWORD
,LPCSTR
,LPVOID
,DWORD
);
117 HRESULT WINAPI
FileSaveMarkNotExist(LPSTR pszFileList
, LPSTR pszDir
, LPSTR pszBaseName
);
118 HRESULT WINAPI
FileSaveRestore(HWND hDlg
, LPSTR pszFileList
, LPSTR pszDir
,
119 LPSTR pszBaseName
, DWORD dwFlags
);
120 HRESULT WINAPI
FileSaveRestoreOnINF(HWND hWnd
, PCSTR pszTitle
, PCSTR pszINF
,
121 PCSTR pszSection
, PCSTR pszBackupDir
, PCSTR pszBaseBackupFile
, DWORD dwFlags
);
122 HRESULT WINAPI
GetVersionFromFile(LPSTR lpszFilename
, LPDWORD pdwMSVer
, LPDWORD pdwLSVer
, BOOL bVersion
);
123 HRESULT WINAPI
GetVersionFromFileEx(LPSTR lpszFilename
, LPDWORD pdwMSVer
, LPDWORD pdwLSVer
, BOOL bVersion
);
124 BOOL WINAPI
IsNTAdmin(DWORD
,LPDWORD
);
125 INT WINAPI
LaunchINFSection(HWND
,HINSTANCE
,LPSTR
,INT
);
126 HRESULT WINAPI
LaunchINFSectionEx(HWND
,HINSTANCE
,LPSTR
,INT
);
127 DWORD WINAPI
NeedRebootInit(VOID
);
128 BOOL WINAPI
NeedReboot(DWORD dwRebootCheck
);
129 HRESULT WINAPI
OpenINFEngine(PCSTR pszInfFilename
, PCSTR pszInstallSection
,
130 DWORD dwFlags
, HINF
*phInf
, PVOID pvReserved
);
131 HRESULT WINAPI
RegInstall(HMODULE hm
, LPCSTR pszSection
, LPCSTRTABLE pstTable
);
132 HRESULT WINAPI
RegRestoreAll(HWND hWnd
, PSTR pszTitleString
, HKEY hkBackupKey
);
133 HRESULT WINAPI
RegSaveRestore(HWND hWnd
, PCSTR pszTitleString
, HKEY hkBackupKey
,
134 PCSTR pcszRootKey
, PCSTR pcszSubKey
, PCSTR pcszValueName
, DWORD dwFlags
);
135 HRESULT WINAPI
RegSaveRestoreOnINF(HWND hWnd
, PCSTR pszTitle
, PCSTR pszINF
,
136 PCSTR pszSection
, HKEY hHKLMBackKey
, HKEY hHKCUBackKey
, DWORD dwFlags
);
137 HRESULT WINAPI
RunSetupCommand(HWND hWnd
,
138 LPCSTR szCmdName
, LPCSTR szInfSection
, LPCSTR szDir
, LPCSTR lpszTitle
,
139 HANDLE
*phEXE
, DWORD dwFlags
, LPVOID pvReserved
);
140 HRESULT WINAPI
TranslateInfString(PCSTR pszInfFilename
, PCSTR pszInstallSection
,
141 PCSTR pszTranslateSection
, PCSTR pszTranslateKey
, PSTR pszBuffer
,
142 DWORD dwBufferSize
, PDWORD pdwRequiredSize
, PVOID pvReserved
);
143 HRESULT WINAPI
TranslateInfStringEx(HINF hInf
, PCSTR pszInfFilename
,
144 PCSTR pszTranslateSection
, PCSTR pszTranslateKey
, PSTR pszBuffer
,
145 DWORD dwBufferSize
, PDWORD pdwRequiredSize
, PVOID pvReserved
);
151 #endif /* __WINE_ADVPUB_H */