加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在“添加/删除程序”中隐藏卸载程序?

发布时间:2020-12-13 20:45:15 所属栏目:Windows 来源:网络整理
导读:我正在使用Visual Studio 2005创建Windows安装程序项目. 是否有一个选项使我的项目在添加/删除程序中没有卸载选项? 我的一位客户要求我这样做..这就是原因:因为安装程序是现有程序的补丁.卸载后,程序不再有效,因为已卸载修补的文件.我们想知道是否可以禁用
我正在使用Visual Studio 2005创建Windows安装程序项目.

是否有一个选项使我的项目在添加/删除程序中没有卸载选项?

我的一位客户要求我这样做..这就是原因:因为安装程序是现有程序的补丁.卸载后,程序不再有效,因为已卸载修补的文件.我们想知道是否可以禁用卸载,而不是找出恢复被替换文件的方法(我们无法使用此安装程序).

您只需要使用 Orca在安装程序的Property表中设置ARPSYSTEMCOMPONENT = 1(不能直接在Visual Studio中根据我的知识完成)

这通常在程序安装依赖项时使用,并且您不希望用户手动卸载依赖项,它们需要使用您提供的特定卸载脚本或其他内容.

就个人而言,我会将补丁编写为补丁并阻止补丁被卸载.

另外我建议你拿一份The Definitive Guide to Windows Installer的副本来解释你应该如何,为什么以及在哪里使用这样的技巧.同时让您非常了解Windows安装程序的基本原理,并帮助您设计出更好的安装程序.本书中的所有示例都使用Windows Installer SDK.中的Visual Studio免费工具

编辑:用户仍然可以完全控制通过MSIEXEC卸载,通过您提供的自定义卸载快捷方式,所有这一切都隐藏了添加/删除程序(ARP)中的条目

Edit2:示例VBS添加属性(如果您想在自动构建过程中执行此操作)

Dim installer,database,view

Set installer = CreateObject("WindowsInstaller.Installer")
Set database = installer.OpenDatabase ("test.msi",1)

Set view = database.OpenView ("INSERT INTO Property(Property.Property,Property.Value) VALUES('ARPSYSTEMCOMPONENT','1')")
view.Execute

Set database = Nothing
Set installer = Nothing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读