1

我们正在开发一个将与其他应用程序紧密合作的 WPF 应用程序。现在,它正在使用 Microsoft Excel。

我想在安装我们的 WPF 应用程序时运行一些自定义代码,以扫描用户的计算机并找到 Excel 的位置,以便我可以将其保存在 WPF 程序的 app.config 文件中。稍后,当我们需要启动 Excel 编辑文件时,我将使用配置文件中的此路径传递给 Process.Start()。

我不想创建 Excel 加载项或模板(不是一个选项,因此不建议将此作为答案)。

我们需要担心哪些安全问题?这个方案是“犹太洁食”吗?如果我尝试使用另一个没有 Excel 那么多插件能力的应用程序怎么办?您建议使用哪些方法来定位和启动此应用程序?简单地要求用户定位程序而不是在文件系统中搜索它会更好吗?

编辑:有人想讨论一般问题吗?如果我没有启动 Excel,而是启动其他一些工具(iTunes、Audacity 等)怎么办?没有人讨论或谈论过安全问题。可以搜索可执行文件吗?我应该问用户在哪里可以找到它吗?/编辑

4

2 回答 2

2

安装路径在注册表中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Excel\InstallRoot

14.0 可能因版本而异。

编辑:一般来说,大多数安装程序将允许用户在他们想要的任何地方安装应用程序,因此应用程序可执行文件可以在任何文件夹中的任何磁盘上,因此只能递归搜索所有驱动器上的所有文件夹(在搜索常见安装路径之后) 将是查找可执行文件的可靠方法。

因此,IMO 最好向用户显示浏览对话框并允许他们自己定位可执行文件。

于 2011-04-07T15:39:01.043 回答
0

由于 Excel 的路径已在“PATH”环境变量中注册,我原以为使用文件路径参数运行“excel.exe”应该可以工作。

或者您可以查找注册表并找到与之关联的“打开方式”应用程序,并建议使用哪个应用程序(可选 make 作为您的应用程序的默认设置)。

于 2011-04-07T15:41:09.247 回答