Windows 설치 관리자를 사용하여 응용 프로그램을 설치 방법으로 만들려고합니다. 설치가 성공하면 설치 프로그램에서 구성한 기본 출력이있는 경로를 얻고 싶습니다. 내 경우 기본 출력은 [ApplicationData(Installroot)]\Bin\
폴더에 있습니다.C# 설치 프로젝트 사용자 지정 작업을 사용자 지정 설정 파일에 저장합니다.
또한 설치 위치와 관련된 파일 위치와 같은 여러 설정을 제어하는 1 개의 클래스 라이브러리에 App.Settings라는 사용자 지정 설정 파일이 있습니다.
그래서 설치가 성공하면 App.Settings를 호출하고 설치 폴더를 설정 파일에 저장해야한다는 아이디어가 있습니다.
저는 이미 Install 클래스를 만들어 클래스 라이브러리 안에 넣었습니다. 그래도 그 프로젝트에 있어야 할 지 모르겠다. 이 설치 클래스의 코드입니다 :
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 파일이 포함되어 있기 때문에 이것이 맞는지 확실하지 않습니다.
설정이 저장되지 않기 때문에이 시점부터 어디서 계속해야할지 모르겠습니다. 응용 프로그램 시작시 메시지 상자를 설정하여 설정 값을 알려 주기만하면됩니다.
프로젝트의 더 많은 데이터에 관심이있는 사람은 누구나 물어보십시오. 나는 아직 모든 것을 한 번에 게시하지 않을 것입니다.
편집 :
좀 더 테스트 후 나는 설치 클래스에 호출되지 않는 것을 알 수 있었다. 메서드를 호출했지만 아무 일도 일어나지 않을 때 파일에 쓰는 것을 추가했습니다.
따라서 내 질문은 다음과 같습니다. 사용자 지정 작업을 설치 프로젝트에 올바르게 추가하려면 어떻게합니까?
그래서 제대로 된 경우 커밋 후 설정 파일을 찾아 직접 편집 하시겠습니까? – Thodor12
나는 이것에 비틀 거렸다 : http://stackoverflow.com/questions/2943438/visual-studio-2008-installer-custom-action-breakpoint-not-firing. VS2015에서도 마찬가지입니까? 그렇다면 내 코드가 왜 작동하지 않는지 알 수 있습니다. – Thodor12
디버깅과 누락 된 base.Install()을 참조하기 때문에 문제에 따라 관련성이없는 것처럼 보입니다. – PhilDW