gpt4 book ai didi

c++ - 卸载程序不会删除复制的库到 VS2010 安装程序项目中的系统文件夹。

转载 作者:行者123 更新时间:2023-11-28 00:19:06 27 4
gpt4 key购买 nike

我有一个 Windows 桌面应用程序。我正在使用 microsoft visual studio 2010 安装程序项目准备 msi。为了我的目的,我需要在安装过程中将某个 DLL 复制到系统文件夹中。安装完成后运行卸载程序时,它不会从系统文件夹中删除该库。

有没有办法做到这一点?

这是我的 UnInstaller.cpp

int _tmain(int argc, _TCHAR* argv[])
{
//WinExec("msiexec.exe /i {B49233F8-814D-432F-BE05-D6BA334A0087}", SW_SHOW);
WinExec("msiexec.exe /i {050E4942-5DF2-4F46-B6BC-1296761DA4C1}", SW_SHOW);
}

最佳答案

如果您曾在安装程序中将该文件的属性标记为 Permanent 或 SharedLegacyFile 并安装了它,则它不会被卸载。它们不是您在项目中更改的设置,也不是期望它们在系统上更改的设置,因为系统会将它们标记为不卸载。例如,如果您查看 HKLM\Software\Microsoft\Windows\CurrentVersion\SharedDlls 并且文件的路径在那里,那么您不必要地将其标记为共享。

关于c++ - 卸载程序不会删除复制的库到 VS2010 安装程序项目中的系统文件夹。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com