2014-03-31 7 views
1

저는 C++로 작성한 응용 프로그램 배포에 관심이 있습니다. 내가 끝내기를 원하는 것은 기본적으로 CD를 배포하는 오래된 방법이며 자동 실행 파일을 사용하면 대부분의 작업을 수행 할 수 있습니다. 저는 기술에 익숙하지 않은 사람들이 자신의 컴퓨터에서 .cpp 소스 코드를 컴파일/설치하고 작동하는 .exe 파일로 끝낼 수있는 파일을 보내고 싶습니다.설치 패키지를 만드는 것이 코드 컴파일을 대신합니까?

나는 유사한 문제에 관해 여기서 읽은 제안에 따라 설치 패키지를 만드는 프로그램을 찾고 있습니다. 나는 특히 NSIS에 대한 튜토리얼을 읽었으며 정확하게 이러한 프로그램이 실제로 무엇을하는지 혼란 스럽다. 이 자습서는 .txt 파일을 다른 컴퓨터에 설치하는 패키지를 만드는 것이 쉽지는 않지만 무의미한 것으로 보입니다. .txt 문서는 읽을 수 있도록 컴파일 할 필요가 없으며 배포 할 설치 패키지가 필요한 특별한 이유가 없습니다. NSIS 및 관련 프로그램은 단순히 복사 및 붙여 넣기를 자동화합니까? 내가 찾고있는 것은 내 .cpp 소스 코드를 가져 와서 이미 C++ 컴파일러가없는 다른 컴퓨터에서 컴파일하고 설치할 수있는 프로그램이며, 수령인이 기술자가 아닌 경우 가능한 한 편리하게 그렇게하는 프로그램입니다 -savvy (가급적이면 setup.exe를 실행하면됩니다). NSIS 및 이와 유사한 프로그램에이 기능이 있습니까? 아니면 컴파일되지 않은 형식으로 내 소스 코드를 누군가에게 보내는 용도로만 사용할 수 있습니까? 대신 다른 곳을보고 있어야합니까?

Visual Studio 2010 Express를 사용하고 있지만 설치 패키지는 지원하지 않습니다. 분명히 내 부분에 나쁜 타이밍.

또한, 패키지의 수신자가 내 소스 코드의 내용을 읽을 수 없도록했습니다. 필자가 작성한 프로그램이 RSA 암호화를 구현하고 있고 싶지 않은 것처럼 사용자가 내가 선택한 블록 크기 또는 모듈을 알고 있습니까?

도움 주셔서 감사합니다.

+0

자동 실행은 CD로 작동하지만 CD를 전자 메일로 보낼 수 없습니다. – MSalters

답변

0

패키지에는 일반적으로 소스가 아닌 실행 가능 코드가 들어 있습니다. 대상 컴퓨터의 코드를 컴파일 한 다음 패키지화하여 사용자가 설치할 수 있도록합니다. 이상적으로는 시스템 구성을 변경하고 나중에 설치된 파일을 제거 할 수있는 충분한 정보를 기록하기 때문에 복사 및 붙여 넣기보다 조금 더 이상적입니다.

(Visual Studio를 설치하는 경우 설치시 컴파일 할 필요가 없으므로 Visual Studio를 컴파일하지 않아도 패키지가 제공됩니다.)

마지막으로 중요한 점은 소스 코드를 패키지하지 않으면 사람들이 읽을 수 없다는 것입니다. 그러나 "모호함에 의한 보안"에 의존하지 마십시오. 누군가 기술이 충분하면 프로그램을 분해하거나 디 컴파일 할 수 있습니다.

0

아니오 설치 프로그램 (적어도 Windows의 경우)에는 대상 시스템에 필요한 모든 파일이 압축 형식으로 포함되어 있습니다. 이러한 파일을 만드는 것은 여전히 ​​귀하의 책임입니다. 그들을 컴파일하여.

설치 관리자가 항상 필요한 것은 아닙니다. 때로는 Windows에서 XCOPY install 또는 XCOPY deployment이라는 용어가 표시됩니다. 전체 디렉터리 구조를 복사 할 수있는 XCOPY 유틸리티를 참조하십시오. 전체 프로그램 디렉토리를 적절한 Program Files 디렉토리에 복사하면 많은 프로그램이 실행됩니다.

그러나 이러한 단순한 경우에도 설치 관리자는 Program Files 디렉토리의 위치, 시작 메뉴의 바로 가기 추가 위치 및 제거를 처리하는 방법을 파악하는 데 도움을 줄 수 있습니다.