|
The DeletePackageFile function removes the
specified file from the package.
| BOOL DeletePackageFile( |
|
HPACKAGE hPackage, |
|
// handle to package file |
|
DWORD dwFilePlatform, |
|
// file platform |
|
DWORD dwFileChecksum, |
|
// file checksum |
|
LPCTSTR lpszFileName |
|
// file name in package |
| ); |
Parameters
- hPackage
- [in] Handle to an open package file.
-
- dwFilePlatform
- [in] Specifies the target platform for the file.
-
- This may be one of the following values:
| Value |
Description |
| PACKAGE_FILE_PLATFORM_DEFAULT |
Remove the file which is targeted for the
current platform. |
| PACKAGE_FILE_PLATFORM_WIN95 |
The file may be applied to a system running
Windows 95. |
| PACKAGE_FILE_PLATFORM_WIN98 |
The file may be applied to a system running
Windows 98 or Windows 98 SE. |
| PACKAGE_FILE_PLATFORM_WINME |
The file may be applied to a system running
Windows ME. |
| PACKAGE_FILE_PLATFORM_WINNT40 |
The file may be applied to a system running
Windows NT 4.0. |
| PACKAGE_FILE_PLATFORM_WIN2000 |
The file may be applied to a system running
Windows 2000. |
| PACKAGE_FILE_PLATFORM_WINXP |
The file may be applied to a system running
Windows XP. |
| PACKAGE_FILE_PLATFORM_WIN2003 |
The files may be applied to a system running
Windows Server 2003. |
- In addition to the above platform-specific values, there are
predefined values which specify platform groups:
-
| Value |
Description |
| PACKAGE_FILE_PLATFORM_WIN32 |
The file may be applied to any 32-bit version
of the Windows operating system. |
| PACKAGE_FILE_PLATFORM_WIN9X |
The file may be applied to any system
running Windows 95, Windows 98 or Windows ME. The file will not be applied on a system
running Windows NT, Windows 2000 or Windows XP. |
| PACKAGE_FILE_PLATFORM_WINNT |
The file may be applied to any system running
Windows NT, Windows 2000 or Windows XP. The file will not be applied on a system running
Windows 95, Windows 98 or Windows ME. |
| PACKAGE_FILE_PLATFORM_WINDOWS |
The files may be applied to any system
running any version of Microsoft Windows. |
- dwFileChecksum
- [in] Specifies the 32-bit checksum for the file. If the
package contains multiple file versions, this value is used to uniquely identify the file.
This parameter is ignored if the PACKAGE_OPTION_MULTIPLE_VERSIONS package option has not
been enabled or if the parameter value is zero.
-
- lpszFileName
- [in] A pointer to a null-terminated string which specifies
the package file to be deleted.
Return Values
If the DeletePackageFile function
succeeds, it will return a non-zero value.
If the function fails, it will return a value of zero. To
get extended error information, call GetLastError.
Remarks
The file name cannot contain wildcard characters. To delete
multiple files, use this function with the FindFirstPackageFile and FindNextPackageFile
functions.
An error will be returned if the package file has been
opened for read-only access.
Example
// Delete all executable files from the package
PACKAGE_FILE_INFORMATION pfInfo;
DWORD dwError = ERROR_SUCCESS;
BOOL bResult;
pfInfo.cbStructure = sizeof(PACKAGE_FILE_INFORMATION);
bResult = FindFirstPackageFile(hPackage, _T("*.exe"),
PACKAGE_FILE_PLATFORM_DEFAULT,
PACKAGE_FIND_RECURSIVE, &pfInfo);
while (bResult)
{
bResult = DeletePackageFile(hPackage,
PACKAGE_FILE_PLATFORM_DEFAULT,
pfInfo.dwChecksum,
pfInfo.szFileName);
if (bResult == FALSE)
{
dwError = GetLastError();
break;
}
bResult = FindNextPackageFile(hPackage, &pfInfo);
}
Requirements
Windows NT/2000/XP: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Include apatch.h.
Library: Use apatch32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP.
See Also
FindFirstPackageFile,
FindNextPackageFile
|
|