真正的ClickOnce发布的应用程序的配置文件在哪里?

本文关键字:配置文件 在哪里 应用程序 ClickOnce | 更新日期: 2023-09-27 18:01:31

我用这个来获取我的应用程序的配置文件的位置:

string path = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

但是它没有给我实际正在使用的文件的路径。

我的问题是,我需要我的应用程序可以从Windows任务调度程序运行,我希望它采取参数。我一直在做的是,当我在Scheduler中创建任务时,单击Browse并找到appref-ms图标。然后,Scheduler将填充文本框,我将在其中输入文件的路径,并在AppData'Local'Apps'2.0'...下输入到一个奇怪位置的路径(而不仅仅保留图标的路径)。这样我也可以添加参数,一切都工作得很好,不像我尝试过的其他事情,比如使用.exe文件的路径或输入图标的路径,除了…

当应用程序从任务调度程序启动时,它使用的配置文件与使用图标启动时不同。假设我在任务调度程序中运行S后,将其设置为T的值(总是在应用程序中)。然后,当我从图标运行时,我将设置S更改为I。下次我从任务调度程序运行应用程序时,设置S将是T,下次我从图标运行它时,设置S将是I。另外,在上面代码给我的路径中设置S只是默认值(既不是T也不是I)。

这是一个大问题,因为我需要我的设置是相同的,无论我如何运行应用程序。我正在考虑用我自己确定的位置替换我自己文件的默认设置文件。这是我唯一的选择吗?有没有其他的方法从任务调度程序运行应用程序,这样我就可以传递参数,也将使用相同的配置文件,当我从图标运行它?不如写一段代码,强制应用程序始终使用相同的配置文件?

真正的ClickOnce发布的应用程序的配置文件在哪里?

你可以把设置移到每个人都能找到的地方。如果是已保存的内容,无论如何都要这样做,因为ClickOnce更新会清除用户保存的设置。

我知道你可以从

得到应用程序的安装路径
INSTALLED_PATH = Application.StartupPath ;

一种方法可能是,在每次ClicOnce部署之后,应用程序的第一次启动将从图标启动。如果应用程序随后将INSTALLED_PATH保存到一个固定的文本文件中,那么任务可以从中获取路径。明白了吗?