如何使用 C++ 编写自定义卸载程序代码以删除 Visual Studio 2008 中用户生成的文件
How to write a custom uninstaller code in C++ for deleting user generated files in Visual Studio 2008
我在网上阅读了很多关于在 Visual Studio 中编写自定义操作的文章和博客,但是我完全不清楚实现相同操作的方法。我的安装项目是在 C++ 中。任何人都可以逐步指导如何使用 C++ 编写自定义卸载程序。
我的安装项目创建了以下文件结构:
设置
-->输入-->file.txt
-->程序-->PrimaryOutput(活动)
-->输出
安装成功 运行 后,将在输出文件夹中创建文件,该文件夹在安装卸载期间保留在那里。如何在 C++ 中编写自定义卸载程序以在卸载后完全删除所有文件。
编辑:我已经能够像这样创建自定义操作模板:
#include "stdafx.h"
extern "C" UINT _stdcall Install(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Commit(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Rollback(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Uninstall(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
我应该如何继续编写用于在 Uninstall 方法中删除 Output 文件夹的代码。
有这个:
http://www.codeproject.com/Articles/570751/DevMSI-An-Example-Cplusplus-MSI-Wix-Deferred-Custo
VS 自定义操作被推迟,所以它会为你工作。
或者这个:
http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL
无论如何,这就是您的起点。
如果您使用任何其他安装工具,您将可以使用 MSI 的 RemoveFile 功能,因此不需要任何类型的自定义操作。
我在网上阅读了很多关于在 Visual Studio 中编写自定义操作的文章和博客,但是我完全不清楚实现相同操作的方法。我的安装项目是在 C++ 中。任何人都可以逐步指导如何使用 C++ 编写自定义卸载程序。
我的安装项目创建了以下文件结构:
设置
-->输入-->file.txt
-->程序-->PrimaryOutput(活动)
-->输出
安装成功 运行 后,将在输出文件夹中创建文件,该文件夹在安装卸载期间保留在那里。如何在 C++ 中编写自定义卸载程序以在卸载后完全删除所有文件。
编辑:我已经能够像这样创建自定义操作模板:
#include "stdafx.h"
extern "C" UINT _stdcall Install(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Commit(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Rollback(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
extern "C" UINT _stdcall Uninstall(MSIHANDLE hInstall)
{
return ERROR_SUCCESS;
}
我应该如何继续编写用于在 Uninstall 方法中删除 Output 文件夹的代码。
有这个: http://www.codeproject.com/Articles/570751/DevMSI-An-Example-Cplusplus-MSI-Wix-Deferred-Custo
VS 自定义操作被推迟,所以它会为你工作。
或者这个:
http://www.codeproject.com/Articles/1747/MSI-Custom-Action-DLL
无论如何,这就是您的起点。
如果您使用任何其他安装工具,您将可以使用 MSI 的 RemoveFile 功能,因此不需要任何类型的自定义操作。