最新构建的项目安装程序没有';t显示在“添加/删除程序”中

本文关键字:显示 添加 删除程序 项目 构建 安装 程序 最新 | 更新日期: 2023-09-27 18:21:55

在过去的几周里,我注意到我的特定项目的最新构建没有显示在Add/Remove程序中。

我使用的是Visual Studio 2010,Windows7 64位(尽管我也在两台Windows 32位计算机上尝试过)。已安装所有最新的service Pack和更新。该解决方案由几个具有各种参考文献的项目组成。安装和部署项目不是Install-Shield版本,而是Microsoft项目中内置的版本。

以前版本的软件安装良好,现在仍然如此……但如果我从CVS中删除一个标记的早期版本,并为这些版本重建安装程序,它们也不起作用。

我在Orca中打开了MSI,可以看到ARPNOREMOVE和ARPSYSTEMCOMPONENT都设置为1。安装项目后,将创建注册表项SystemComponent Dword值。如果我删除该注册表项,应用程序就会出现。根据我阅读和研究的所有内容,我发现有人想要这个功能,但却被告知Visual Studio无法单独实现。他们的解决方案是使用Orca添加ARPNOREMOVE或ARPSYSTEMCOMPONENT。在这一点上,我发现的所有人都有我的问题,要么是有一个基本的默认安装程序,他们不知道在"添加/删除程序"中要找什么名字,要么是其他一些不适用于我的情况的基本错误。

我已经尝试了以下所有方法:

-CVS 上标记版本的以前版本

-多台开发机

-要验证的多台计算机均未显示在添加/删除程序中

-重置所有Visual Studio设置

-在清洁发展环境中建设

-从解决方案中删除安装程序项目并创建新的安装程序项目

奇怪的是,如果我创建一个新的解决方案,并在其中创建一个设置和部署项目,安装就很好。有人知道这件事能帮我吗?

最新构建的项目安装程序没有';t显示在“添加/删除程序”中

这就是我发现的。我们正在使用National Instruments Measurement Studio for.Net和遗留控件。当使用遗留控件时,某个合并模块会被识别为依赖项。无论出于何种原因,现在这个合并模块都会更改编译的安装程序的行为。我已经联系了国家仪器公司,现在正在与他们合作。

首先,是的,您找到了正确的属性名称。是的,ARPSYSTEMCOMPONENT就是它导致在Add/Remove程序下"不可见"的安装(ARP适用于内部人员,尽管名称在XP后已经更改)。并且可以稍后在注册表中设置/更改生成的"SystemComponent"条目,但并非所有属性都是这样。

ARPNOREMOVE只是控制ARP中的卸载是否真的可以执行。

我以前确实看过Visual Installer,因为它对MSI专家来说非常有限,但在快速查看后,有一个用VS 2010创建的.vdproj(项目文件),毫不奇怪,所有MSI信息都在那里编码。您可以在解决方案资源管理器中看到的可视化设置编辑器只是一个子集。只需查找"ARP",您就会发现一些属性集。这些值的含义可能不那么容易猜测,但从理性的角度来看:

要么里面有一些设置,要么有一个自定义操作(也列出了)来设置该属性!

在我使用向导进行的最小测试中,在生成的msi文件中只设置了ARPCONTACT属性。

至少你可以将.vdproj文件与其他checkin版本进行比较。。