Я пытаюсь создать приложение с помощью установщика Windows в качестве метода установки. Когда установка завершится успешно, я хочу получить путь, в котором находится первичный вывод, который я настроил в установщике. В моем случае основной вывод находится в папке [ApplicationData(Installroot)]\Bin\
.C# Setup Project Custom Action, чтобы сохранить каталог установки в файл настраиваемых настроек
У меня также есть пользовательский файл настроек под названием App.Settings в 1 моей библиотеке классов, который управляет несколькими настройками, такими как расположение файлов, которые относятся к месту установки.
Итак, идея заключается в том, что при успешном завершении установки она должна вызывать настройки App.Settings и сохранять папку установки в файл настроек.
Я уже сделал класс установки и поместил его в библиотеку классов. Я не уверен, что он должен быть в этом проекте. Это код Установка класса:
using System.Collections;
using System.ComponentModel;
namespace WaspbaneModels
{
[RunInstaller(true)]
public partial class Installer : System.Configuration.Install.Installer
{
public Installer()
{
InitializeComponent();
}
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
}
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
SettingsControl.BaseURL = Context.Parameters["assemblypath"];
SettingsControl.Save();
}
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
}
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
}
}
}
В этом коде SettingsControl класс, который заботится о настройках, просто с некоторыми свойствами. Я использовал этот класс, чтобы мой проект Windows Forms также мог получить доступ к этим настройкам.
На вкладке «Пользовательские действия» я также добавил первичный вывод ко всему. Я также не уверен, что это правильно, потому что я думаю, что первичный вывод содержит все DLL-файлы, включая библиотеки классов.
Я не уверен, где продолжить, но поскольку настройки не сохраняются. Я просто проверяю это, создавая окно сообщений при запуске приложения, давая мне значение параметра.
Любой, кто интересуется более подробными данными проекта, просто спросите. Я просто не буду публиковать все сразу.
EDIT:
После некоторого более тестирования мне удалось выяснить, что класс Installer не вызывается после. Я добавил что-то, что выписал бы файл, когда метод будет вызван, но ничего не произошло.
Поэтому мой вопрос заключается в следующем: как мне добавить проект Custom Action в проект установки?
Итак, если я понял, что после фиксации найдите файл настроек и отредактируйте его напрямую? – Thodor12
Я наткнулся на это: http://stackoverflow.com/questions/2943438/visual-studio-2008-installer-custom-action-breakpoint-not-firing. Это также верно для VS2015? Если это так, то я знаю, почему мой код не работает. – Thodor12
Это не похоже на вашу проблему, потому что это относится к отладке и отсутствующей базе. Install(). – PhilDW