如何获取ClickOnce的setup.exe文件夹路径

时间:2015-02-19 19:35:39

标签: wpf clickonce

我点击一次在文件夹中部署的应用程序说“c:\ temp \ MyApp”。在这个文件夹中,我有一个配置文件“MyAppDynamic.config”,我希望我的点击一次应用程序在启动时读取。

当我点击c:\ temp \ MyApp \ setup.exe时,ClickOnce App部署在%APPDATA%..文件夹中,因此我无法从启动clickonce的位置获取文件夹位置。

  1. 有没有办法在clickonce app中获取启动位置?
  2. 我做错了吗?
  3. 谢谢,

    RDV

    更多信息:

    我的clickonce应用程序的主要目的是在客户端盒上安装一堆预先请求。这些预先请求可以位于网络上的任何位置(它们的位置根据特定组件是在开发还是生产中而变化)。我不想更新clickonce安装程序只是因为某些动态位置已更改,这就是为什么我不想在ClickOnce应用程序中对安装路径进行硬编码的原因。

    因此,我正在使用外部文件“MyAppDynamic.config”,我在其中更新所有组件的安装路径,并将此文件放在setup.exe所在的已发布文件夹中。

    问题是我想在ClickOnce应用程序启动时读取此文件,但是任何系统/环境变量都不会给我这个发布的位置,因为此时,ClickOnce已经部署在Client Box上,并且所有Location / CodeBase路径都指向% APPDATA%..

    问题:

    1. 部署的clickonce应用程序是否可以获取其安装目录路径(我验证过IsolatedStorage不提供此信息)?

    2. 以上是不可能的,有什么想法如何实现这个?我甚至不想硬编码MyAppDynmaic.config文件的位置。但如果没有其他工作,这将是我最好的选择: - (

    3. 谢谢,

      RDV

1 个答案:

答案 0 :(得分:0)

无法获取或设置安装位置。出于安全目的,安装文件夹位于隔离存储下。您可以阅读配置文件。检查这个答案;

How can I get the application's path in a .NET console application?