diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 0be284e1e7f..83393ee7e59 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -1400,7 +1400,7 @@ static BOOL ACTION_HandleStandardAction(MSIPACKAGE *package, LPCWSTR action, return ret; } -BOOL ACTION_HandleDialogBox(MSIPACKAGE *package, LPCWSTR dialog, UINT* rc) +static BOOL ACTION_HandleDialogBox( MSIPACKAGE *package, LPCWSTR dialog, UINT* rc ) { BOOL ret = FALSE; @@ -1412,8 +1412,8 @@ BOOL ACTION_HandleDialogBox(MSIPACKAGE *package, LPCWSTR dialog, UINT* rc) return ret; } -BOOL ACTION_HandleCustomAction(MSIPACKAGE* package, LPCWSTR action, UINT* rc, - BOOL force ) +static BOOL ACTION_HandleCustomAction( MSIPACKAGE* package, LPCWSTR action, + UINT* rc, BOOL force ) { BOOL ret=FALSE; UINT arc; @@ -1993,7 +1993,7 @@ UINT schedule_action(MSIPACKAGE *package, UINT script, LPCWSTR action) return ERROR_SUCCESS; } -UINT execute_script(MSIPACKAGE *package, UINT script ) +static UINT execute_script(MSIPACKAGE *package, UINT script ) { int i; UINT rc = ERROR_SUCCESS; @@ -2259,7 +2259,7 @@ LPWSTR resolve_folder(MSIPACKAGE *package, LPCWSTR name, BOOL source, } /* scan for and update current install states */ -void ACTION_UpdateInstallStates(MSIPACKAGE *package) +static void ACTION_UpdateInstallStates(MSIPACKAGE *package) { int i; LPWSTR productcode; @@ -4243,7 +4243,7 @@ typedef struct { ITypeLib *ptLib; } typelib_struct; -BOOL CALLBACK Typelib_EnumResNameProc( HMODULE hModule, LPCWSTR lpszType, +static BOOL CALLBACK Typelib_EnumResNameProc( HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LONG_PTR lParam) { TLIBATTR *attr; @@ -7206,7 +7206,7 @@ static LPWSTR load_ttfname_from(LPCWSTR filename) { int nPos; LPSTR buf; - static const LPSTR tt = " (TrueType)"; + static LPCSTR tt = " (TrueType)"; ttRecord.uStringLength = SWAPWORD(ttRecord.uStringLength); ttRecord.uStringOffset = SWAPWORD(ttRecord.uStringOffset); diff --git a/dlls/msi/action.h b/dlls/msi/action.h index 9f8da9da589..351596ff833 100644 --- a/dlls/msi/action.h +++ b/dlls/msi/action.h @@ -220,3 +220,5 @@ VOID ControlEvent_FireSubscribedEvent(MSIPACKAGE *package, LPCWSTR event, VOID ControlEvent_CleanupSubscriptions(MSIPACKAGE *package); VOID ControlEvent_SubscribeToEvent(MSIPACKAGE *package, LPCWSTR event, LPCWSTR control, LPCWSTR attribute); +VOID ControlEvent_UnSubscribeToEvent( MSIPACKAGE *package, LPCWSTR event, + LPCWSTR control, LPCWSTR attribute ); diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index d41f7cf56f7..8f0aa20f7e7 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -365,8 +365,8 @@ extern UINT MSI_GetFeatureStateW( MSIPACKAGE *, LPWSTR, INSTALLSTATE *, INSTALLS extern UINT WINAPI MSI_SetFeatureStateW(MSIPACKAGE*, LPCWSTR, INSTALLSTATE ); /* for deformating */ -extern UINT MSI_FormatRecordW(MSIPACKAGE* package, MSIRECORD* record, - LPWSTR buffer, DWORD *size); +extern UINT MSI_FormatRecordW( MSIPACKAGE *, MSIRECORD *, LPWSTR, DWORD * ); +extern UINT MSI_FormatRecordA( MSIPACKAGE *, MSIRECORD *, LPSTR, DWORD * ); /* registry data encoding/decoding functions */ extern BOOL unsquash_guid(LPCWSTR in, LPWSTR out); @@ -398,6 +398,22 @@ extern BOOL msi_dialog_register_class( void ); extern void msi_dialog_unregister_class( void ); extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * ); +/* preview */ +extern MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE * ); +extern UINT MSI_PreviewDialogW( MSIPREVIEW *, LPCWSTR ); + +/* undocumented functions */ +UINT WINAPI MsiCreateAndVerifyInstallerDirectory( DWORD ); +UINT WINAPI MsiDecomposeDescriptorW( LPCWSTR, LPWSTR, LPWSTR, LPWSTR, DWORD * ); +UINT WINAPI MsiDecomposeDescriptorA( LPCSTR, LPSTR, LPSTR, LPSTR, DWORD * ); +LANGID WINAPI MsiLoadStringW( MSIHANDLE, UINT, LPWSTR, int, LANGID ); +LANGID WINAPI MsiLoadStringA( MSIHANDLE, UINT, LPSTR, int, LANGID ); + +HRESULT WINAPI MSI_DllGetClassObject( REFCLSID, REFIID, LPVOID * ); +HRESULT WINAPI MSI_DllRegisterServer( void ); +HRESULT WINAPI MSI_DllUnregisterServer( void ); +BOOL WINAPI MSI_DllCanUnloadNow( void ); + /* UI globals */ extern INSTALLUILEVEL gUILevel; extern HWND gUIhwnd;