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 _PERUSERSECTION
{
34 char szGUID
[39 /*MAX_GUID_STRING_LEN*/ + 20];
37 char szStub
[MAX_PATH
* 4];
42 } PERUSERSECTION
, *PPERUSERSECTION
;
44 typedef struct _StrEntry
{
47 } STRENTRY
, *LPSTRENTRY
;
49 typedef const STRENTRY CSTRENTRY
;
50 typedef CSTRENTRY
*LPCSTRENTRY
;
52 typedef struct _StrTable
{
55 } STRTABLE
, *LPSTRTABLE
;
57 typedef const STRTABLE CSTRTABLE
;
58 typedef CSTRTABLE
*LPCSTRTABLE
;
64 /* Flags for AddDelBackupEntry */
65 #define AADBE_ADD_ENTRY 0x01
66 #define AADBE_DEL_ENTRY 0x02
68 /* Flags for AdvInstallFile */
69 #define AIF_WARNIFSKIP 0x00000001
70 #define AIF_NOSKIP 0x00000002
71 #define AIF_NOVERSIONCHECK 0x00000004
72 #define AIF_FORCE_FILE_IN_USE 0x00000008
73 #define AIF_NOOVERWRITE 0x00000010
74 #define AIF_NO_VERSION_DIALOG 0x00000020
75 #define AIF_REPLACEONLY 0x00000400
76 #define AIF_NOLANGUAGECHECK 0x10000000
77 #define AIF_QUIET 0x20000000
79 /* Flags for RunSetupCommand */
80 #define RSC_FLAG_INF 0x00000001
81 #define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002
82 #define RSC_FLAG_QUIET 0x00000004
83 #define RSC_FLAG_NGCONV 0x00000008
84 #define RSC_FLAG_UPDHLPDLLS 0x00000010
85 #define RSC_FLAG_DELAYREGISTEROCX 0x00000200
86 #define RSC_FLAG_SETUPAPI 0x00000400
88 /* Flags for DelNode */
89 #define ADN_DEL_IF_EMPTY 0x00000001
90 #define ADN_DONT_DEL_SUBDIRS 0x00000002
91 #define ADN_DONT_DEL_DIR 0x00000004
92 #define ADN_DEL_UNC_PATHS 0x00000008
94 /* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */
95 #define IE4_RESTORE 0x00000001
96 #define IE4_BACKNEW 0x00000002
97 #define IE4_NODELETENEW 0x00000004
98 #define IE4_NOMESSAGES 0x00000008
99 #define IE4_NOPROGRESS 0x00000010
100 #define IE4_NOENUMKEY 0x00000020
101 #define IE4_NO_CRC_MAPPING 0x00000040
102 #define IE4_REGSECTION 0x00000080
103 #define IE4_FRDOALL 0x00000100
104 #define IE4_UPDREFCNT 0x00000200
105 #define IE4_USEREFCNT 0x00000400
106 #define IE4_EXTRAINCREFCNT 0x00000800
108 /* Flags for file save and restore functions */
109 #define AFSR_RESTORE IE4_RESTORE
110 #define AFSR_BACKNEW IE4_BACKNEW
111 #define AFSR_NODELETENEW IE4_NODELETENEW
112 #define AFSR_NOMESSAGES IE4_NOMESSAGES
113 #define AFSR_NOPROGRESS IE4_NOPROGRESS
114 #define AFSR_UPDREFCNT IE4_UPDREFCNT
115 #define AFSR_USEREFCNT IE4_USEREFCNT
116 #define AFSR_EXTRAINCREFCNT IE4_EXTRAINCREFCNT
118 HRESULT WINAPI
AddDelBackupEntry(LPCSTR lpcszFileList
, LPCSTR lpcszBackupDir
,
119 LPCSTR lpcszBaseName
, DWORD dwFlags
);
120 HRESULT WINAPI
AdvInstallFile(HWND hwnd
, LPCSTR lpszSourceDir
,
121 LPCSTR lpszSourceFile
, LPCSTR lpszDestDir
, LPCSTR lpszDestFile
,
122 DWORD dwFlags
, DWORD dwReserved
);
123 HRESULT WINAPI
CloseINFEngine(HINF hInf
);
124 HRESULT WINAPI
DelNode(LPCSTR pszFileOrDirName
, DWORD dwFlags
);
125 HRESULT WINAPI
DelNodeRunDLL32(HWND
,HINSTANCE
,LPSTR
,INT
);
126 HRESULT WINAPI
ExecuteCab( HWND hwnd
, PCABINFO pCab
, LPVOID pReserved
);
127 HRESULT WINAPI
ExtractFiles(LPCSTR
,LPCSTR
,DWORD
,LPCSTR
,LPVOID
,DWORD
);
128 HRESULT WINAPI
FileSaveMarkNotExist(LPSTR pszFileList
, LPSTR pszDir
, LPSTR pszBaseName
);
129 HRESULT WINAPI
FileSaveRestore(HWND hDlg
, LPSTR pszFileList
, LPSTR pszDir
,
130 LPSTR pszBaseName
, DWORD dwFlags
);
131 HRESULT WINAPI
FileSaveRestoreOnINF(HWND hWnd
, PCSTR pszTitle
, PCSTR pszINF
,
132 PCSTR pszSection
, PCSTR pszBackupDir
, PCSTR pszBaseBackupFile
, DWORD dwFlags
);
133 HRESULT WINAPI
GetVersionFromFile(LPSTR lpszFilename
, LPDWORD pdwMSVer
, LPDWORD pdwLSVer
, BOOL bVersion
);
134 HRESULT WINAPI
GetVersionFromFileEx(LPSTR lpszFilename
, LPDWORD pdwMSVer
, LPDWORD pdwLSVer
, BOOL bVersion
);
135 BOOL WINAPI
IsNTAdmin(DWORD
,LPDWORD
);
136 INT WINAPI
LaunchINFSection(HWND
,HINSTANCE
,LPSTR
,INT
);
137 HRESULT WINAPI
LaunchINFSectionEx(HWND
,HINSTANCE
,LPSTR
,INT
);
138 DWORD WINAPI
NeedRebootInit(VOID
);
139 BOOL WINAPI
NeedReboot(DWORD dwRebootCheck
);
140 HRESULT WINAPI
OpenINFEngine(PCSTR pszInfFilename
, PCSTR pszInstallSection
,
141 DWORD dwFlags
, HINF
*phInf
, PVOID pvReserved
);
142 HRESULT WINAPI
RebootCheckOnInstall(HWND hWnd
, LPCSTR pszINF
, LPCSTR pszSec
, DWORD dwReserved
);
143 HRESULT WINAPI
RegInstall(HMODULE hm
, LPCSTR pszSection
, LPCSTRTABLE pstTable
);
144 HRESULT WINAPI
RegRestoreAll(HWND hWnd
, PSTR pszTitleString
, HKEY hkBackupKey
);
145 HRESULT WINAPI
RegSaveRestore(HWND hWnd
, PCSTR pszTitleString
, HKEY hkBackupKey
,
146 PCSTR pcszRootKey
, PCSTR pcszSubKey
, PCSTR pcszValueName
, DWORD dwFlags
);
147 HRESULT WINAPI
RegSaveRestoreOnINF(HWND hWnd
, PCSTR pszTitle
, PCSTR pszINF
,
148 PCSTR pszSection
, HKEY hHKLMBackKey
, HKEY hHKCUBackKey
, DWORD dwFlags
);
149 HRESULT WINAPI
RunSetupCommand(HWND hWnd
,
150 LPCSTR szCmdName
, LPCSTR szInfSection
, LPCSTR szDir
, LPCSTR lpszTitle
,
151 HANDLE
*phEXE
, DWORD dwFlags
, LPVOID pvReserved
);
152 HRESULT WINAPI
SetPerUserSecValues(PPERUSERSECTION pPerUser
);
153 HRESULT WINAPI
TranslateInfString(PCSTR pszInfFilename
, PCSTR pszInstallSection
,
154 PCSTR pszTranslateSection
, PCSTR pszTranslateKey
, PSTR pszBuffer
,
155 DWORD dwBufferSize
, PDWORD pdwRequiredSize
, PVOID pvReserved
);
156 HRESULT WINAPI
TranslateInfStringEx(HINF hInf
, PCSTR pszInfFilename
,
157 PCSTR pszTranslateSection
, PCSTR pszTranslateKey
, PSTR pszBuffer
,
158 DWORD dwBufferSize
, PDWORD pdwRequiredSize
, PVOID pvReserved
);
159 HRESULT WINAPI
UserInstStubWrapper(HWND hWnd
, HINSTANCE hInstance
, PSTR pszParms
, INT nShow
);
160 HRESULT WINAPI
UserUnInstStubWrapper(HWND hWnd
, HINSTANCE hInstance
, PSTR pszParms
, INT nShow
);
166 #endif /* __WINE_ADVPUB_H */