首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VCRedist -我怎么知道它是否已经运行了?

VCRedist -我怎么知道它是否已经运行了?
EN

Stack Overflow用户
提问于 2009-02-24 19:08:05
回答 3查看 970关注 0票数 2

我有一个很旧很旧的VC++应用,我们已经移植到VS2005上了。我们的现有用户需要获取VC++2005 vcredist_x86.exe,所以我的应用程序将DLL放在他们的机器上并运行它。我检查了HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Installations\下的一个注册表项,它是x86_Microsoft.VC80.MFC blah blah 8.0.50727.762 blah blah...但是..。这似乎在Vista上不存在。为了确保vcredist运行到完成,我不需要再次运行它,应该检查正确的条目是什么?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2009-02-24 19:15:45

虽然您可以在users windir中的winsxs文件夹中查找正确的文件夹和文件,但我从未找到任何关于这方面的明确信息。

我已经让我们的应用程序的安装程序在安装时悄悄地运行它,如果它已经在那里,这不会造成任何问题。

票数 1
EN

Stack Overflow用户

发布于 2009-02-24 19:24:49

我的应用程序将vcredist_x86.exe放在他们的机器上并运行它。

这是一种非常不规范的方式。

通常,并排的软件包会自动添加到“检测到的依赖项”下的安装程序对象的依赖项中。

票数 0
EN

Stack Overflow用户

发布于 2009-02-24 20:18:52

保持简单:只需将redist设置作为批处理文件的一部分运行,该批处理文件将在完成时写入一些注册表值(这样您就可以检查它而不会运行两次),或者将一些文件写入到某个已知位置。

没错,如果你的用户在过去的某个时候自己运行vcredist,那么你的第一次安装将是多余的,但我猜这不会真的有什么坏处,也不是什么大问题。

除此之外(我意识到这不是很好),我怀疑您必须检查2005 redist包中的每个文件是否都在那里(没有被意外删除或损坏),这几乎是redist安装程序应该做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/583122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档