卸载由不存在的用户安装的Windows应用

卸载由不存在的用户安装的Windows应用,windows,winforms,installation,windows-installer,Windows,Winforms,Installation,Windows Installer,我们有一个.Net Winforms应用程序运行在未连接到internet的XP机器上。我们通过分发带有.MSI安装程序文件的CD来安装和更新此应用程序。用户从“添加或删除程序”控制面板卸载旧应用程序,然后从CD安装新应用程序 不久前,我们要求用户以个人帐户而不是共享帐户登录。所有这些个人帐户都是XP用户帐户控制面板中的超级用户组中的“标准用户”帐户。这样的用户可以为所有用户安装应用程序,我们已经测试过了,它可以正常工作 直到最近。更新远程计算机的用户表示,虽然安装了应用程序和数据文件,但该应用

我们有一个.Net Winforms应用程序运行在未连接到internet的XP机器上。我们通过分发带有.MSI安装程序文件的CD来安装和更新此应用程序。用户从“添加或删除程序”控制面板卸载旧应用程序,然后从CD安装新应用程序

不久前,我们要求用户以个人帐户而不是共享帐户登录。所有这些个人帐户都是XP用户帐户控制面板中的超级用户组中的“标准用户”帐户。这样的用户可以为所有用户安装应用程序,我们已经测试过了,它可以正常工作

直到最近。更新远程计算机的用户表示,虽然安装了应用程序和数据文件,但该应用程序不会出现在“添加或删除程序”中。尝试运行新安装程序时会显示一个对话框,显示“系统管理员已设置策略以阻止此安装”。这不是真的,我们在此计算机上没有设置任何策略,并且Windows管理控制台的组策略面板中没有Windows Installer策略

我们尝试使用管理员帐户登录到这台计算机,并看到了相同的情况

我目前的理论是,该应用程序是在一个后来被删除的帐户下安装的,只有该用户才能卸载该应用程序。但为什么管理员不能卸载该应用程序?有没有办法让安装程序删除旧应用程序,而不管是谁安装的

其他信息:

我不是问用户如何卸载应用程序;我们创建了安装程序,我想知道我们的部署项目如何检测和处理这种情况

一名技术人员以管理员身份登录到受影响的机器,并表示该应用程序确实显示在“添加/删除控制面板”中,但没有“删除”按钮,选择该应用程序将显示应用程序信息,但没有按钮


我不知道是否该应用程序最初是由删除的用户安装的,这是根据用户帐户最近在这台机器上被更改的事实进行的猜测。

好吧,这不是一个答案,只是为了帮助诊断;您可以查看下面的注册表项,看看是否有您的应用程序条目吗?以下是添加/删除程序的填充方式:


HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

我建议使用强制删除该条目,但这不会删除任何可能存在的现有文件,而只是删除应用程序的Windows installer条目。

正如您所解释的那样。 安装程序时,必须检查安装是否在正确的条件下完成。因此,在安装之后,让程序检查是谁安装了它。 或者在安装前触发一些代码进行检查(安装程序包编辑器)


我还看到你谈论断开与互联网的连接。。奇怪的是,它们是否也与LAN网络断开了连接?如果这样,它可能在更多的地方出错,甚至可能是一个简单的注册表损坏案例。

与编程无关。我不同意,这与编程有关。我不认为这是一个严格意义上的IT问题,而是一个已开发应用程序的部署问题。“winforms”被标记的事实似乎表明用户是开发人员。+1--这是一个好问题。安装、卸载和其他部署问题完全与编码和编程集成在一起。您是否尝试过MSI编辑工具Orcas?我有Orcas,我应该“尝试”什么?在我看来.msi很好。进行了技术人员检查;是的,我们的应用程序的产品代码有一个条目。这是一个独立的锁定的信息亭机器,没有任何网络访问。多年前,我们通过对机器重新成像解决了这个问题;我想我可以结束这个问题,或者自己发布一个答案。