控制面板卸载无权限!!

一、关于控制面板卸载软件
1.首先总体介绍一下我做的功能
做一个软件安装包,向服务器请求下载客户端资源,
既然要安装,肯定要提供卸载功能,我是通过修改注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

设置其中的 “UninstallString” 字段来使其显示在控制面板

2.因为要修改注册表 以及可能安装C 盘 ,需要管理员权限 ,所以我把uac 提升为管理员权限

requireAdministrator (/level='requireAdministrator') 是 (/uiAccess='true')

3.安装可以正常安装 注册表也可以正常 修改

4.问题来了 控制面板卸载无权限 为什么,找了好多资料都没有
首先 当前用户肯定是管理源,有没有踩过的求指点一下

img


5.再说一点 默认C盘是可以正常卸载的 ,

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权限提示框。用户需要点击“是”以授予管理员权限。

希望以上代码能帮助你解决问题。如果还有其他问题,请随时问我。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

兄弟们,没有人踩过这个坑吗,其他开源安装 包 就可以 正常卸载啊