我有一个我使用Installshield 2012 Pro维护的MSI软件包。MSI,修复运行,但我不知道为什么
该软件包再次创建几年,需要定期维护,因为应用程序的新版本是我们的开发团队发布的安装。这个MSI已经在很多地方使用过,在许多机器上没有问题。
在一个客户的位置,他们已经在20台机器上安装了约20份应用程序。每台机器都完全一样。 定期地,由于未知原因,与该应用程序有关的注册表条目丢失。不是所有的人,一个或两个选择...相同的条目总是失踪。
我们到目前为止没有跟踪确切的根本原因,但是我们的一位支持工程师注意到当他们打开应用程序快捷方式时出现的MSI修复对话框。在此之后,注册表项失踪。
在每个缺少注册表项的实例上,我们都从c:\ Windows \ Installer目录中删除了MSI。在机器上我们也做了这个改变,到目前为止注册表的改变并没有消失。
这让我想到MSI在修复过程中以某种方式删除选定的注册表项,但我不知道如何。
- 在与删除的条目相同的键下至少有50个注册表项。 (这些应用程序没有安装程序创建)
- MSI软件包不插入任何键都在安装过程中
- 有在所有
- 任何自定义操作我只有在整个设定一个密钥文件MSI,这是安装在Windows \ System32下一个组件的快捷方式
- 都不是“刊登了”
似乎有从安装目录中并没有再出现去除MSI之间有明显的联系,但我无法看到我的MSI中可能导致特定注册表项失效的内容耳。
我知道确切的原因,这这是主观上我的MSI或客户系统,从而一般地我问:
- 为什么Windows中启动的MSI修复功能,在考虑上述
- MSI可以改变注册表,考虑以上
- 是否有MSI后安装禁用此MSI的自动修复功能?
- 我该如何改变MSI以确保不会发生汽车修理?
感谢
当你说去“丢失”的注册表值和密钥被删除或注册表值的数据设置为空/空? –
@ChristopherPainter的值被删除,密钥本身仍然存在。 – Damo
我需要确定我们使用的是相同的术语。如果你有一个SOMEEDATA类型的RegSZ值的SOMEVALUE ... SOMEDATA变成了NULL还是SOMEVALUE实际上完全被删除了? –