문제

C# 2005

XML 구성 파일에서 읽을 사용자 정의 작업이 필요하므로 설치 프로그램 클래스를 사용하고 있습니다.

따라서 사용자가 설정을 두 번 클릭하면 동일한 폴더에 config.xml 파일이 있습니다. 설치 이벤트 에서이 config.xml 파일을 읽고 싶습니다. 폴더에는 setup.exe 및 config.xml이 포함됩니다

그러나 c : windows system32에서 찾고있는 config.xml 파일을 찾을 수 없습니다. ApplicationStartup.path를 사용하여 이것을 찾았습니다. 그러나 설정 및 config.xml이 포함 된 설정 폴더는 데스크톱에 있습니다.

나는 그것이 현재 위치에서 그것을 찾을 것이라고 생각했다. 설정 폴더입니다.

어려움은 내 설정 폴더가 인터넷에서 다운로드되고 모든 사용자가 다운로드하여 컴퓨터의 어느 곳에서나 압축을 풀 수 있다는 것입니다.

다음은 ON 설치 이벤트를위한 내 코드 스 니펫입니다.

조언에 감사드립니다

protected override void OnAfterInstall(System.Collections.IDictionary savedState)
    {
        DataTable dt = new DataTable();
        MessageBox.Show(Application.StartupPath.ToString());
        dt.ReadXml("config.xml");

        MessageBox.Show(base.Context.Parameters["CAT_TargetDir"].ToString());
    } 
도움이 되었습니까?

해결책 3

나는 이것을 해결할 수 있습니다.

답은 단지 모든 작업을 수행 할 간단한 박쥐 파일을 작성하는 것이 었습니다. BAT 파일은 설정을 호출하여 응용 프로그램을 설치합니다.

감사,

다른 팁

MSI에 대해 이야기하고 있다고 가정하면 OriginalDatabase 재산?

당신이 안개가 쓰지 않는다고 가정합니다 CAT_TargetDir 대신에 TARGETDIR 다음과 같은 해결 방법을 수행 할 수 있습니다. 사용자 정의 액션에 대한 인수로 CustomActionData를 설정하고 TargetDir를 통과하십시오. 가장 우아한 솔루션은 아니지만 매우 쉽게 작동해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top