【问题标题】:How to control your installed app in windows ARP(Add or Remove program)如何在 Windows ARP 中控制已安装的应用程序(添加或删除程序)
【发布时间】:2013-12-05 10:44:43
【问题描述】:

我看到一个exe安装包。它包含几个 .MSI 安装包。安装包所做的是安装它拥有的每个 msi。

如果我双击exe安装产品,产品会出现在ARP中。 但是如果我在这个exe包中安装了一个特定的msi,这个msi的产品名称就会出现在ARP中。

假设我们正在谈论产品 P。而 P 包含 3 个组件:A、B、C。 P是exe,A,B,C是msi。如果我安装 A,A 会出现在 ARP 中。但是如果我安装了P,ARP中会出现P,但是ARP中不会出现A,B,C。

我看到了这个帖子How to find the upgrade code & productCode of an installed application in Win 7

我检查了 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 键,我可以看到 A、B、C 都在他们的 ProductCode 下。我还看到 P 也在那里,它没有 ProductCode。

所以我很困惑他们如何控制 ARP 中的显示或隐藏以及注册表的用途。

谢谢!

【问题讨论】:

标签: windows windows-installer


【解决方案1】:

控制是否在控制面板中列出 MSI 的最简单方法是设置 property ARPSYSTEMCOMPONENT

在启动 A、B 和 C 的 MSI 时,P 包很可能会在命令行中看到此属性。

【讨论】:

  • 非常感谢。但是exe安装文件P如何在ARP中显示它的elt呢?这不是微星。
  • 你确定吗?它可能是仅启动 MSI 的引导程序(MSI 上的 EXE 包装器)。如果您可以发布此软件包的下载链接,我可以查看并告诉您是否是这种情况。
  • 是的,它是一个引导程序。它会解压到%TEMP%,你可以看到msis。
【解决方案2】:

我很抱歉 wesley 但在您链接的文章中是错误的。这不是在 AddRemoveProgramms 中隐藏包的正确方法。这可能会损坏 msi 的功能。这也是不必要的困难。

正确的方式就像 Bogdan Mitrache。这里有一个简短的教程。

  1. 获取像 Orca 或 InstEd 这样的 MSI 编辑器 (http://instedit.com)
  2. 打开 MSI 并搜索 Property
  3. 在属性表中使用以下值创建一个新条目: 属性ARPSYSTEMCOMPONENT 1
  4. 保存 MSI。现在程序不应该在 ARP 中可见。

从 msdn 链接的链接中可以看出,您可以在调用 msi 期间使用 ARPSYSTEMCOMPONENT。您不必编辑/更改 MSI。您可以通过以下方式调用 MSI。

msiexec /i "yourmsi.msi" ARPSYSTEMCOMPONENT=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多