1、主要是写注册表,在HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall这个下面建立一个键值,一般都是一个唯的GUID
2、然后在GUID键值下面,创建许多子键值。
示例代码:
假设m_strInstallPath="C:\\Program files\\App";
QSettings *reg = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{E1878C90-48D0-489A-AEF2-F8574FD881F5}", QSettings::NativeFormat);
reg->setValue("NoRepair", (quint32)1); // 代表在控制面板没有修复按钮
reg->setValue("NoModify", (quint32)1); // 代表在控制面板没有更改按钮
reg->setValue("DisplayName", QString::fromLocal8Bit("我的程序")); // 在控制面板中显示的名称
reg->setValue("DisplayIcon", m_strInstallPath + "\\LOGO.ico"); // 在控制面板中显示的图标,也可以指定EXE的路径
reg->setValue("DisplayVersion", "1.0"); // 在控制面板中显示的版本号
reg->setValue("UninstallString", m_strUninstallPath + "\\Uninstall.exe"); // 控制面板中删除按钮对应执行的EXE, 也就是点击删除就把这个EXE运行起来
delete reg;