2009-12-09 5 views
6

.net 3.5 응용 프로그램이있어서 휴대용으로 만들고 싶습니다. 간단하고 완벽하게 실행됩니다. 일부 친구에게 .EXE + .DLL을 보냈습니다.이 파일은 .DLL과 .ICO (같은 폴더에 있습니다.)와 함께 EXE를 실행할 때 의도 한대로 작동합니다. .C#에서 휴대용 (비 설치) Windows 응용 프로그램 만들기

내가 원했던 것은 설치가 필요없이 dll, 이미지 및 무엇이든 원하는 것을 염두에 둔 단일 EXE 파일을 만드는 것입니다. 설치가 필요하지 않습니다. (일명 휴대용)

필요하다면, 3.5-only 기능을 사용하지 않아도됩니다. 실제로, 왜 3.5를 사용하는지 잘 모르겠습니다. 어쨌든 프로그래밍시 새로운)

.rar를 내 친구에게 보내고 .exe 파일을 추출하여 실행하도록하는 것이 정말 짜증나기 때문에 어떤 팁, 링크 또는 설명이 필요하십니까? 이상한 파일 "이라고 부릅니다. (게다가 모든 사람들이 폴더에 확장자 표시를 가지고 있기 때문에 악몽입니다.)

(나는 StackOverflow를 검색했는데, 내가 묻는 것, 유일한 질문은 찾지 못했습니다. 내가 그것을 좋아하는 것으로 밝혀 졌던 것은 fram의 토론에서 끝났다. Windows 머신의 ework 가용성, 언어 선택 및 좋은 대답이 없습니다.)

+0

나는 쉽게 배포 할 수 있다는 것을 의미한다고 생각합니다. - 이식 가능하지 않음 (휴대용이란 다른 운영 체제 및/또는 하드웨어 아키텍처에서 실행됨을 의미합니다). – Oded

+0

자, 사람들 (많은 사람들에게 관심이 있을지도 모르는)에 대한 답변이 너무 적습니다. 나는 여기에 응답하는데 유용한 다른 정보를 주려고왔다. – Marcelo

+3

@Oded - 휴대용은 이제 여러 의미를 지닌 단어 중 하나입니다. 이는 certianly cross platform을 의미하는 데 사용되었지만 이제는 자주 (more?) "설치하지 않고 USB 스틱 또는 동급 제품에서 실행"을 의미합니다. – Murph

답변

10

ILMerge을 사용하여 모든 어셈블리를 실행 파일에 병합 할 수 있습니다. 나는 당신의 아이콘이 이미 임베디드 리소스가 될 것으로 기대한다. 그렇지 않으면 적어도 그렇게 아이콘을 만들 수 있어야한다.

.NET 2.0을 대상으로하면 .NET 2.0 만 설치되어있는 컴퓨터에서 작동 할 수 있다는 점에서 이식성이 향상됩니다. 그러나 2.0 vs 3.5 배포의 비율은 무엇인지 알 수 없습니다. 중요한 점은 대상 고객 중 배포 비율과 같지 않을 수도 있다는 것입니다..

+0

감사합니다! 아이콘에 대해서는, 어떻게해야할지 모르겠지만, 알아낼 것입니다. 나는 기다리고있을거야, 어쩌면 뭔가 더 나아질거야! – Marcelo

3

응용 프로그램에 필요한 데이터 (어셈블리, 아이콘 등)를 리소스 또는 포함 된 파일로 추가 할 수 있습니다.

자원 편집기를 사용하거나 손이 더러워 지길 원하면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 "기존 항목 추가"를 수행하여 파일에 속성 가져 오기 Build Aciton을 "Embedded Resource"로 설정합니다. 아이콘과 같은

자료는 직접 사용할 수 있습니다 -

데이터 파일에서로드 할 스트림을 얻을 Application.GetManifestResource (및 관련 방법)을 사용하여로드 할 수 있습니다 DrawIcon (Properties.Resources.MyIcon)에있다. 예를 들어, 어셈블리의 경우 리소스의 매니페스트 리소스 스트림에서 Assembly.Load()를 직접 사용할 수 있습니다.

+0

P. 이점은 데이터 파일과 어셈블리를 .exe에 쉽게 임베드하여 관리하기 쉽고 모든 파일이 솔루션 탐색기에 자동으로 나열되며 타사 도구 또는 빌드 후 단계가 필요하지 않습니다. 작동시키기 위해서는 내장 된 VS/C#/.net2.0 기능에 의존해야합니다. –

관련 문제