2013-04-27 5 views
0

2 개의 앱과 하나의 config.ini 파일이 있습니다.exe ​​파일에 config.ini 포함하기

  1. 관리자 프로젝트
  2. 주 프로젝트

주 프로젝트 컴파일하고 (자원으로) 관리자를 프로젝트에 추가됩니다. 또한 기본 프로젝트가 config.ini 파일에서 설정을 가져옵니다. 관리자 프로젝트에서

내가 그런 식으로 MainProject을 저장할 수 있습니다

File.WriteAllBytes("MainProject.exe", ManagerProject.Properties.Resources.MainProject); //get MainProject exe an save it 

그런 다음 내가 MainProject.exe에 대한 config.ini를 작성할 수 있습니다

StreamWriter sw = new StreamWriter("config.ini"); 
sw.WriteLine("1"); //whatever 
sw.Close(); 

하지만 난 (이 두 개의 파일을 가입하려는 config.ini 및 MainProject.exe)를 하나의 exe 파일로 만듭니다. 사용자가 해당 config.ini를 볼 수 없습니다.

config.ini를 리소스 파일로 추가하려고 생각했지만 프로젝트가 이미 컴파일되었을 때 그렇게 할 수 있습니까?

어떻게 할 수 있습니까?

// 편집

나는 스파이가 (screenshoots을 파일 등으로 키보드를 기록)의 프로그램이 있습니다. 내 ManagerProject에는 설치 모니터링, 제거 및 구성과 같은 옵션이 있습니다.

"내 구성으로 독립 실행 형 모니터 만들기"를 원합니다. 이 옵션은 지정된 설정 (예 : 스크린 샷 제작 빈도, 전자 메일 데이터 등)이 포함 된 .exe를 만들고 단어 또는 Excel 아이콘과 같이 작성해야합니다. 그리고이 custome 구성의 독립 실행 형 exe는 클릭 후 모니터링을 설치해야합니다.

하지만 병합 exe를 하나 개의 파일로 config.ini 파일에 문제가 ... 내가이 문제를 해결할 수있는 방법을

어떤 아이디어?

+0

응답 : CodeDomProvider provider = CodeDomProvider.CreateProvider ("CSharp"); http://support.microsoft.com/kb/304655 – Kaki

답변

0

우선 무엇이 이상한 일입니까? C# 프로젝트는 app.config를 사용하여 유지 관리 및로드가 훨씬 쉬운 구성을 읽습니다.

다른 점은 포함 된 리소스를 사용하여 구성 데이터를 유지할 수 있다는 것입니다.

더 많은 정보를 원하시면이 스레드를 참조하십시오 : How do I compile my App.config into my exe in a VS2010 C# console app?

Configuration File as Embedded Resource 또는 여기가 마지막으로 나는 확실하지 않다 당신이 달성하고자하는 그 무엇도 가능합니다.

+0

ILMerge와 비슷하지만 .dll 및 기타 어셈블리에만 사용할 수 있습니다. – Kaki

0

당신은 "사용자는 config.ini를 볼 수 없습니다."라고 말했기 때문에 이것이 유일한 이유 인 경우 config.ini를 exe와 병합하려는 경우 youst를 입력하십시오. AppData 또는 Temp 또는 설정 파일을 인코딩하여 exe 파일 옆에 넣을 수 있습니다. 따라서 사용자가 파일을 열면 내용을 찾을 수 없습니다.

+0

그러나 ManagerProject의 소유자는 자신의 컴퓨터에서 스파이 exe를 만든 다음 pendrive에 복사하여 피해자의 집으로 갈 수 있습니다. – Kaki

+0

이것이 주요 목표입니다. ManagerProject의 소유자는 exe를 단어로 생성하고, 아이콘을 엑셀로 복사하여 피해자의 집으로 가서 프로그램을 실행할 수 있습니다. – Kaki

+0

나는 본다. 구성 파일을 편집 할 수 있어야합니까? – gereb95

0

exe가 NTFS 파티션에있는 경우 config.ini를 exe 파일의 대체 스트림에 넣을 수 있습니다. 대체 스트림은 C#으로 작성하거나 빨간색으로 표시 할 수 있지만 다음과 같은 문서화되지 않은 line 명령으로 즉시 시도 할 수 있습니다.

대체 스트림에 기록하려면 :

more < myapp.exe:configstream 
  • 의 app.config과의 차이 만 에 하나 개의 파일을 것입니다 :

    echo some data > myapp.exe:configstream 
    

    대체 스트림에서 읽으려면 deploy

  • 임베디드 리소스와의 차이점은 데이터 값을 변경하기 위해 컴파일러가 필요 없다는 것입니다.