【发布时间】:2015-10-16 08:19:13
【问题描述】:
我已经阅读了许多关于在 Visual Studio 中编写自定义操作的在线文章和博客,但是我完全不清楚这样做的方法。我的安装项目是 C++。任何人都可以分步指导如何在 C++ 中编写自定义卸载程序。
我的安装项目创建了以下文件结构:
设置
-->输入-->file.txt
-->程序-->PrimaryOutput(Active)
-->输出
成功运行安装程序后,将在输出文件夹中创建文件,该文件夹在卸载安装程序期间保留在那里。如何在 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;
}
我应该如何继续编写删除方法中的输出文件夹的代码。
【问题讨论】:
-
如果卸载程序只需要删除一些目录或文件,您可以使用一些系统调用。看看stackoverflow.com/questions/2256945/…
-
这通常是一个有问题的想法,因为 Windows 是多用户的。用户生成的文件可能由多个不同的用户拥有,其中没有一个是执行卸载程序的管理员。这个想法适用于由单个非管理员用户安装的应用程序(即在
Program Files之外)
标签: c++ windows visual-studio-2008 custom-action