大家在安装的sdk的Samples下面都能找到Setupdll这个例子
这个例子会生成个Setup.dll.
我们可以把Setup.dll添加到到自己项目的cab安装文件中,来完成在安装时候的各种复杂的操作,如:安装,卸载提示,各种信息消息提示,注册表修改等操作.
ms提供的例子里面演示的是在安装/卸载的时候对cfgclient.exe进行register和unregister操作
我们可以把这部分去掉,在下面的接口中写入自己想要的东东
Install_Init 安装开始的时候
Install_Exit 安装结束的时候
Uninstall_Init 卸载开始的时候
Uninstall_Exit 卸载结束的时候
例:
如果我们要在安装完成时候提示"安装完成,重起才能有效".
只要把代码改成下面的样子就可以了
#include "Aygshell.h"
...
SETUP_API codeINSTALL_EXIT Install_Exit(
HWND hwndParent,
LPCTSTR pszInstallDir, // final install directory
WORD cFailedDirs,
WORD cFailedFiles,
WORD cFailedRegKeys,
WORD cFailedRegVals,
WORD cFailedShortcuts
)
{
if(MessageBox(hwndParent, L"安装完成,重起才能有效", L"提示", MB_OKCANCEL) == IDOK)
{
ExitWindowsEx(EWX_REBOOT, 0);
}
return codeINSTALL_EXIT_DONE;
}
完成自己的setup.dll以后把这个dll添加到cab打包就可以了
具体添加操作就是在cab属性里面ce setupdll 选中这个setup.dll就行