Windows程序会针对计算机上的不同登录名自行重新安装

时间:2019-01-30 00:49:54

标签: installation windows-installer registry installshield-le

我使用VS 2013和InstallShield LE 2015为客户端-服务器程序创建了Windows安装程序。

我以Admin登录到计算机并运行安装程序。一切正常。

然后,我修改Local_Machine的注册表以定义一些程序的数据库位置等(最初也由安装完成,但是由于At each login the program tries to configure installation parameters in the HKEY_LOCAL_MACHINE registry中讨论的某些问题,我删除了安装程序的注册表修改部分)。

然后我通过双击安装程序在桌面上放置的快捷方式来运行该程序并进行测试。一切正常。

然后我注销计算机。

另一个具有管理员权限的用户登录并单击快捷方式,出现问题:程序开始自行重新安装!

然后它会自行修复并正常运行。

但是,如果第一个用户之后登录,那么她将经历相同的重新安装操作,因此第一个用户之后也会出现广告恶心!

因此,即使安装程序没有自行创建任何注册表项,但只要程序访问注册表或它认为损坏的任何内容,Windows OS就会进行干预并尝试修复需要修复的任何内容。

InstallShield LE不允许将设置快捷方式设置为“广告快捷方式”,或者

我删除了安装程序创建的快捷方式,并在安装后手动重新创建它,但是仍然遇到相同的问题。因此,快捷方式的性质可能不是原因。

此问题仅在多次登录计算机时发生。如果许多人使用相同的凭据登录,则永远不会发生。

那么,怎么了?我研究了许多StackOverflow答案,以成功解决此问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

Stein提供了有关如何诊断此StackOverflow answer中的MSI程序问题的大量说明。当我按照他的指示进行操作时,我能够检查我的MSI程序的哪个组件有问题。事实证明,串行总线控制器库MScomm32.ocx无法在Win 10下正确注册。一次,我在此link中实现了解决方案,以上问题得以解决,并且每当双击程序图标以运行时,我都可以以两个不同的用户身份登录而无需启动重新安装过程。