2016-04-22 4 views
1

Мне нужно получить путь установки приложения clickOnce.Получить путь установки от развертывания ClickOnce

Путь: C: \ Users \ Lenovo \ AppData \ Local \ Apps \ 2.0 \ LEGRGER7.57W \ 4Z5LN4OT.J7H \ MyApp..vsto_c3da112430e41901_0001.0000_2214160f1f9567c9

В любом случае мое намерение состоит в том, чтобы добавить файл (.tagger) в установщик ClickOnce и прочитать этот файл из кода. но я не смог сохранить файл в моем предопределенном месте клиентской машины.

Итак, я прохожу, чтобы прочитать этот путь установки, а затем скопировать этот файл в папку моего пользовательского каталога в другом месте при первом запуске моего приложения.

В настоящее время я сделал это, но мог получить путь данных не путь к установочному файлу.

string sourcePath = System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory; 

Любой другой способ сделать этот или такой же подход я могу сделать это по-другому?

ответ

2

Используйте этот код:

Для получения своего пути:

string sourcePath =System.Reflection.Assembly.GetExecutingAssembly().Location 

Для открытия automaticuly вашего пути установки:

System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory) 
+0

Первый путь возвращает pathC: \ Users \ Lenovo \ AppData \ Local \ assembly \ dl3 \ HW47O5YM.1B1 \ 4AZBEZH6.74H \ 6bfae6b6 \ f865bf5c_6f9cd101 \ Но мне нужен путь C: \ Users \ lenovo \ AppData \ Local \ Apps \ 2.0 \ LEGRGER7.57W \ 4Z5LN4OT.J7H \ MyApp. .vsto_c3da112430e41901_0001.0000_2214160f1f9567c9 \ – KIS

+0

Если у вас есть решение, как содержать ClassLibrary. вы должны пройти код в проекте «exe» –

+0

Я получил путь, используя AppDomain.CurrentDomain.BaseDirectory. Кажется, это нормально. Но дайте мне знать, пожалуйста, что такое использование System.Diagnostics.Process.Start ("explorer.exe", AppDomain.CurrentDomain.BaseDirectory). Спасибо. – KIS