我正在构建一个C#应用程序,该应用程序导出CSV文件以与Visio组织结构图向导一起使用。

如何检查Visio的安装是否存在以及什么路径?

最明显的方法是检查C:\Program Files\Office12\ORGWIZ.EXE是否存在,但这完全取决于安装的Visio 2007。

我的另一个想法是检查注册表,但是最可靠的来源是什么?我查看了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\下有版本号的地方,但是在它们下面是一个Visio\InstallRoot,除了检查每个版本之外,它都是完美的。

我在其他地方读过我可以在Software\Microsoft\Windows\CurrentVersion\Uninstall\下检查“卸载信息”,但是对于Windows组件来说,这似乎相当复杂...

最佳答案

我会寻找
注册表中的HKEY_CLASSES_ROOT \ Visio.Application。
如果不存在,则无需安装。
如果确实存在,CurVer子项将为您提供Visio.Application.12之类的信息
告诉您已安装的DEFAULT版本(可能是其他版本)

HKEY_CLASSES_ROOT \ Visio.Application.12子项CLSID将为您提供指导:
{00021A20-0000-0000-C000-000000000046}

HKEY_CLASSES_ROOT \ CLSID {00021A20-0000-0000-C000-000000000046}会给您
子键“ LocalServer32”
其中将包含EXE的路径。

C:\ PROGRA〜1 \ MICROS〜4 \ Office12 \ VISIO.EXE /自动化

如您所见,就我而言,它具有短路径形式。

关于c# - 如何以编程方式检查Visio是否已安装以及安装在何处?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1085214/

10-13 03:10