|
The CPackage::DeleteFile function removes
the specified file from the package.
| BOOL DeleteFile( |
|
DWORD dwFilePlatform, |
|
// file platform |
|
DWORD dwFileChecksum, |
|
// file checksum |
|
LPCTSTR lpszFileName |
|
// file name in package |
| ); |
Parameters
- 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 CPackage::DeleteFile 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 CPackage::FindFirstFile and CPackage::FindNextFile
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 = FindFirstFile(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 = FindNextFile(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
CPackage::FindFirstFile,
CPackage::FindNextFile
|
|