一、关于控制面板卸载软件
1.首先总体介绍一下我做的功能
做一个软件安装包,向服务器请求下载客户端资源,
既然要安装,肯定要提供卸载功能,我是通过修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
设置其中的 “UninstallString” 字段来使其显示在控制面板
2.因为要修改注册表 以及可能安装C 盘 ,需要管理员权限 ,所以我把uac 提升为管理员权限
requireAdministrator (/level='requireAdministrator') 是 (/uiAccess='true')
3.安装可以正常安装 注册表也可以正常 修改
4.问题来了 控制面板卸载无权限 为什么,找了好多资料都没有
首先 当前用户肯定是管理源,有没有踩过的求指点一下
C:\Program Files\
【以下回答由 GPT 生成】
这个问题可能是由于UAC权限限制造成的。即使你在安装程序中将UAC权限提升为管理员权限,但在控制面板中打开卸载功能时,却被限制为普通用户权限。
解决这个问题的方法是利用UAC权限提升的特性,以管理员身份启动控制面板。
以下是一个示例的C++代码,该代码以管理员权限启动控制面板:
#include <Windows.h>
#include <Shellapi.h>
int main()
{
// 使用ShellExecute函数以管理员权限启动控制面板
ShellExecute(NULL, L"runas", L"control.exe", NULL, NULL, SW_SHOWDEFAULT);
return 0;
}
将上述代码编译为可执行文件,然后在需要启动控制面板的地方调用它即可。
请注意,这种方法需要用户授权管理员权限,因此可能会弹出UAC权限提示框。用户需要点击“是”以授予管理员权限。
希望以上代码能帮助你解决问题。如果还有其他问题,请随时问我。
兄弟们,没有人踩过这个坑吗,其他开源安装 包 就可以 正常卸载啊