C#如何注册exe?
我如何通过知道另一个exe在.net中的名称来找到它的路径 我是否要向OS环境变量添加名称? 其他应用程序是否必须在其他地方“注册”自身 我需要应用程序A启动应用程序B,并在其上调用一些WCF服务C#如何注册exe?,c#,C#,我如何通过知道另一个exe在.net中的名称来找到它的路径 我是否要向OS环境变量添加名称? 其他应用程序是否必须在其他地方“注册”自身 我需要应用程序A启动应用程序B,并在其上调用一些WCF服务 谢谢 在配置设置中引用exe快捷方式的路径,这样,如果exe在快捷方式周围移动,该快捷方式仍然是最新的。尝试一下,创建一个exe的快捷方式,然后将exe剪切并粘贴到其他地方,然后双击该快捷方式,您将看到它指向exe的新位置,因此,如果位置app B更改,则不需要更改app a。在配置设置中引用exe快
谢谢 在配置设置中引用exe快捷方式的路径,这样,如果exe在快捷方式周围移动,该快捷方式仍然是最新的。尝试一下,创建一个exe的快捷方式,然后将exe剪切并粘贴到其他地方,然后双击该快捷方式,您将看到它指向exe的新位置,因此,如果位置app B更改,则不需要更改app a。在配置设置中引用exe快捷方式的路径,这样,如果exe在快捷方式周围移动,它仍然是最新的。尝试一下,创建一个exe的快捷方式,然后将exe剪切并粘贴到其他地方,然后双击快捷方式,您将看到它指向exe的新位置,因此,如果位置app B发生更改,则不需要更改app a。真的,只需将app B设置为windows服务,并在需要时启动它即可 更新: 另一个建议是创建到AppB的EXE的硬链接:
mklink /H AppB-link.exe path_to_actual_exe
或指向应用程序B所在的整个目录的符号链接:
mklink /D virtual_directory path_to_actual_directory
真的,只要将应用程序B设置为windows服务,并在需要时启动它即可 更新: 另一个建议是创建到AppB的EXE的硬链接:
mklink /H AppB-link.exe path_to_actual_exe
或指向应用程序B所在的整个目录的符号链接:
mklink /D virtual_directory path_to_actual_directory
回答你的问题:你不能仅仅通过知道名字就知道路径。exe可以驻留在文件系统的任何位置。可能有多个彼此不了解的实例。完全不同的多个exe文件可以具有相同的名称 根据所针对的exe,您可以采取以下几种方法之一来解决此问题:
- 让用户使用普通的文件浏览对话框浏览exe
- 搜索文件系统
- 查看目标exe在系统上留下的跟踪(文件系统、注册表、环境变量等),并使用这些跟踪来定位exe
如果你对App B有控制权(即它是你的产品),那么你可以考虑在App B安装时向注册表中的一个已知位置添加一些信息,这样APP可以很容易地找到它。你仍然需要有一个B计划,以防信息丢失。
回答你的问题:你不能仅仅通过知道名字就知道路径。exe可以驻留在文件系统的任何位置。可能有多个彼此不了解的实例。完全不同的多个exe文件可以具有相同的名称 根据所针对的exe,您可以采取以下几种方法之一来解决此问题:- 让用户使用普通的文件浏览对话框浏览exe
- 搜索文件系统
- 查看目标exe在系统上留下的跟踪(文件系统、注册表、环境变量等),并使用这些跟踪来定位exe
如果你对App B有控制权(即它是你的产品),那么你可以考虑在App B安装时向注册表中的一个已知位置添加一些信息,这样APP可以很容易地找到它。您仍然需要有一个计划B,以防信息丢失。
您不能将B的路径放在应用程序a的配置设置中吗?这样可以,有更干净的解决方案吗?我所说的“清洁剂”是指,如果应用程序B的位置发生变化,则不需要对应用程序A进行更改。感谢您的评论。当应用程序B移动时,将路径放入配置设置不需要修改应用程序A。您所要做的就是修改ApplicationA.exe.config文件。无需重新编译。@yodaj007:您可能希望用您的建议和示例创建一个答案。为什么不将应用程序B设置为Windows服务,并让它一直运行?您不能在应用程序a的配置设置中设置B的路径吗?这样行得通,有更干净的解决方案吗?我所说的“清洁剂”是指,如果应用程序B的位置发生变化,则不需要对应用程序A进行更改。感谢您的评论。当应用程序B移动时,将路径放入配置设置不需要修改应用程序A。您所要做的就是修改ApplicationA.exe.config文件。无需重新编译。@yodaj007:您可能希望用您的建议和示例创建一个答案。为什么不将应用程序B设置为Windows服务并让它一直运行?应该提到应用程序