我对.NET程序有一个相当恼人和耗时的问题。我们的客户都使用我们在Visual Studio 2005(运行.NET framework 3.5)中编写的软件。该应用程序是一个安装项目,从另一个项目中获取其文件。问题是,每当我进行代码更改并将新版本上传到服务器时,某些PC都无法进行更改。以下是我们升级的步骤:
问题是当他们运行应用程序时,他们仍然在使用旧版本。它只发生在没有特定模式的某些电脑上。我很肯定它不是因特网缓存,因为同事直接通过ftp将msi文件复制到那里。我们通过将我们安装的目录(包括清单,部署,exe和所有内容)复制到他们的电脑上来解决这个问题。这似乎有效,但它没有必要。我很难过。我已经尝试了一切。我无法复制问题 - 设置对我来说很好;即使我有旧版本,它也会升级它。 Windows是否以某种方式缓存了我应该了解的设置或其他内容?请帮忙:)谢谢!
答案 0 :(得分:1)
我发生了这种情况,其中MSI的一个GUID在构建之间没有改变。
同时检查版本号。我已经发生了这种情况,其中唯一的修订号已经改变(1.0.0.0 - > 1.0.0.1是不够的,必须是1.0.1.x)。
答案 1 :(得分:0)
该问题可能与下载方面的chaching有关。如果是我,我会确保msi包含其名称中的版本号(例如MyAppInstaller_1.1.3.msi),以确保下载时不会出现任何问题。
答案 2 :(得分:0)
在安装新版本之前,您确定目标用户是否已卸载旧版本?我没有卸载旧版本的用户遇到问题,新版本没有覆盖它。您可以尝试以下
因为我不认为缓存会做这样的事情(如果文件是通过浏览器下载的,那么它们会在完成时下载到特定位置而不会保存在缓存中)。
编辑:Morechillies可能会有所作为。一些企业可能试图复制网络。它可能是代理缓存......但我并不是真的相信。
答案 3 :(得分:0)
您确定使用的是3.5和2005吗?
如果您使用的是2008,请参阅a discussion of the difference between MSI support on one vs the other。
话虽如此,这并不能解释不一致的行为 - 它应该始终是错误的。也许在某些情况下,人们正在进行明确的卸载并取得成功吗?