2011-11-30 2 views
2

Visual Studio 및 WIX를 사용하여 매우 잘 작동하는 새 설치 프로그램을 만들었습니다. 지금은 압축을 풀고 배포 용 설치 프로그램을 자동으로 압축하려고합니다.7zip 자동 압축 풀림 설치 프로그램은 설치가 완료되기 전에 파일을 지 웁니다.

설치 프로그램을 만들 수 있습니다. 정상적으로 실행됩니다. 설치 프로그램이 시작되지만 실패합니다.

설치 프로그램이 설치 프로그램을 사용하기 전에 (설치 프로그램을 시작하기 위해 setup.exe를 실행하고 있습니다) 7zip exe가 파일을 삭제하기 때문입니다.

전 검색했지만이 작업을 수행하는 방법에 대한 힌트를 찾을 수 없습니다. 7zip 옵션이 누락 되었습니까?

창조 라인 :

7z a myInstaller.7z installer/bin/release/* 
copy /b \program files\7-zip\7zsd.sfx config.txt myInstaller.exe 

config.txt 파일은 http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686에 대한 해결 방법 (아래 Phylliss 약 7/8)이

;[email protected]@!UTF-8! 
Title="My Title" 
RunProgram="Setup.exe" 
;[email protected]@! 

이지만, 그 삐걱 거리는 것 같다. 그게이 작품을 만드는 유일한 방법일까요?

+0

저도 같은 문제를 타격하고있다. XP 컴퓨터에서 설치의 일부는 정상적으로 작동하지만 컴퓨터가 재부팅하기로 결정하면 임시 파일이 사라지는 경우가 있습니다. – Sugrue

답변

1

샘플에서 잘못된 점을 즉시 알 수 없습니다. 그러나 여기에 필자가 7z 자동 압축 해제 아카이브를 빌드하는 데 사용한 내용이 있습니다. 설치가 끝난 후에 만 ​​파일을 삭제하면 제대로 작동합니다.

설정 파일 :

;[email protected]@!UTF-8! 
Title="My Installer" 
InstallPath="%temp%\\Temp_Installation" 
RunProgram="setup.exe" 
Delete="%temp%\\Temp_Installation" 
;[email protected]@! 

창조 스크립트 (은 NAnt) : 이것은 당신이 문제의 원인을 찾는 데 도움이

<exec program="${_7z.exe}" workingdir="${path}\SFX"> 
    <arg line="a -y -r ${path}\setup.7z" /> 
    <arg line="${paths.build.to7z}\*.*"/> 
</exec> 

<exec program="cmd.exe" verbose="true" workingdir="${path}\SFX"> 
    <arg value="/C" /> 
    <arg line="copy /b 7ZSD_All.sfx + ${config} + ${path}\setup.7z" /> 
    <arg file="${paths.build.sfx}\setup.exe"/> 
</exec> 

희망. 또한 최신 버전의 7z SFX 모듈을 사용하고 있는지 확인할 수도 있습니다. 내가 삭제를 생략 나를 위해

+0

답변 해 주셔서 감사합니다! 필자가 7zSD_ALL.sfx를 사용하여 InstallPath 및 Delete 키를 구성에 추가하면 배치 파일없이 작업 한 것으로 나타났습니다. – MrPhilTX

+0

그리고 이제는 일관되게 작동하지 않습니다. 때로는 효과가 있으며, 그렇지 않은 경우가 많습니다. 마찬가지로, 같은 exe는 한 컴퓨터에서 작동하며 다른 컴퓨터에서는 작동하지 않습니다. 파일을 사용하기 전에 여전히 삭제 된 것으로 보입니다. Win 7에서 테스트 중입니다. 이전 Windows Installer가 setup.exe를 더 오랫동안 실행하는 지 궁금합니다. – MrPhilTX

관련 문제