문제

응용 프로그램에서 작업을 마쳤으며 현재 고객에게 전달할 시간입니다.5MB보다 작은 5 파일 응용 프로그램이기 때문에, 전달하는 가장 간단하고 이발력있는 방법은 TEMP 폴더의 모든 것을 압축 풀고 메인 실행 파일을 시작하라는 명령을받는 Rarsfx / Zipsfx 파일로 결정했습니다.내 프로젝트의 파일.

모든 것이 괜찮을 때까지 zipsfx를 기본 형식으로 선택했지만 문제는 매개 변수를 수락하도록 내 주요 exe를 설계했습니다 (즉, 파일 일괄 처리를 처리하지 않음).. 그러나 ZIPSFX로 포장하면 사용자는 실제로 매개 변수를 주요 EXE가 아닌 설치 프로그램에 전달합니다.

매개 변수를 주 응용 프로그램에 "라우팅"하는 방법이 있습니까?미리 감사드립니다.

도움이 되었습니까?

해결책

루트 코멘트가 흥미 롭습니다 ...

Unspack-run-cleanup 시나리오에서 설치 프로그램을 실제로 원하지 않으면 설치 프로그램을 찾는 데별로 사용하지 않아도됩니다. 1 접근 방식은 PortableApps를보고 있습니다. 그들은 훨씬 더 복잡하고 정확한 프로그램으로 끊임없이 그러한 트릭을 수행 할 수 있으며 아마도 그것을 성취 할 수있는 훌륭한 도구가 있습니다.

다른 접근 방식은 주 응용 프로그램에 자원으로 저장된 파일을 필요로하고 % TEMP %를 압축 해제하고 양식을 사용하고 삭제할 수 있습니다. 이는 SysInternals 도구가 임시 드라이버를 설치하는 방법입니다. 가장 기본적인 방법은 Microsoft 리소스 컴파일러를 사용해야합니다. Delphi와 같은 일부 언어는 데이터 저장을 위해 기본 구성 요소가 있습니다.

이 작업을 수행하면 작은 스텁 exe를 만들 수 있습니다, 그 홈 샷 메인 앱을 실행하고, 완료 및 청소를 기다리거나 정리 (보다 안정적인 대 주요 프로그램 충돌) 또는 주요 프로그램을 모두 수행 할 수 있습니다 (그러나 그것은 추락하거나 비정상적인 방식으로 종료되면 쓰레기를 남겨 두십시오) UPX와 같은 도구로 포장 한 EB에 Dropper를 선택할 수 있지만 Main Exe 및 DLL은 압축 해제되어야합니다.

Cache Dir 태그가있는 임시 파일을 표시하여 발견 된 경우 자유롭게 삭제할 수있는 작은 힌트를 만들 수 있습니다.

다른 팁

innosetup을 보았습니까? 그것은 델파이로 작성되어 있으므로 조금 오버 헤드와 함께 사용하기 쉽습니다.스트림 아래로 매개 변수를 전달하기 위해 쉽게 스크립트 할 수 있습니다.


7-zip sfx를 시도 했습니까?오페라와 같은 일부 설치 프로그램은 그 후에 만들어집니다.

7-zip sfx는 체인 아래로 매개 변수를 전달하는 것 같습니다. http:///sourceforge.net/projects/sourceforge.net/forum/45798./ Topic / 4788506

7-zip 확장 SFX는 체인의 나머지 매개 변수를 전달하는 특수 옵션을 갖추고 있습니다. http://7zsfx.info/en/switches.html#breakcmdline

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