2010-12-09 5 views
1

MSI 파일 내의 DLL 파일을 바꿀 계획입니다. MSI 설치를 수행하지 않고 그것을 할 수있는 방법이 있습니까MSI의 파일 바꾸기

답변

0

http://apps.instedit.com/에서 InstEdit을 시도하십시오. 그러나 msi 패키지 내의 파일을 바꿀 수 있는지 확실하지 않습니다. 또한 Windows SDK와 함께 제공되는 Microsoft Orca msi 편집기를 살펴볼 수도 있습니다.

2

먼저 MSI를 직접 수정하는 것 외에 다른 방법을 찾아 볼 수 있습니다. 이것은 거의 좋은 방법이 아니지만 귀하의 이유가있을 수 있습니다. 다른 옵션은 MSDN on patches을 확인하십시오.

하지만 직접 수정할 경우 blog entry을 확인하십시오. Orca, InstEdit, MSIdb 및 IExpress를 사용하여 CAB 추출, CAB 압축 풀기, 파일 바꾸기, 재 압축 및 CAB 파일을 MSI에 다시 첨부하는 방법에 대해 설명합니다.

1

InstEdit (http://www.instedit.com/)은 작동하지만 직관적 인 도구는 아닙니다. 당신은 더하기 버전을 가질 필요가 없습니다,이 기본 작동합니다. 방금 ​​사용 완료되었습니다. 여기에 그 과정이 있습니다.
1. 이전 MSI를 가져 와서 설치하면 원래의 모든 설치 대상을 얻을 수 있습니다.

  1. 모든 현재 설치 대상을 현재 MSI의 작업 디렉토리에 복사하십시오.

  2. 개방 InstEdit와 MSI (또는 드래그/InstEdit 인터페이스에 MSI 드롭)

  3. 오픈 테이블 탭 (참조 이미지)를 엽니 다

  4. 미디어 항목을 클릭하면 일부를 볼 수 있습니다 오른쪽 정보

  5. 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하고 선택한 CAB 재구성을 선택하십시오.

당신은 MSI의 모든 항목이 발견되는 디렉토리에 기존 항목을 교체하는 경우, 당신은 자동으로 항목의 최신 버전을 가져오고 CAB 다시 작성됩니다 선정 된 적합성을 다시 클릭합니다.

오류는 비밀이지만 읽은 내용을 자세히 읽으면 알아낼 수 있습니다. MSI의 EXE를 새로 빌드 된 버전으로 교체했습니다.

InstEdit Media Rebuild

편집

그것은 거의 일년이되었습니다 그리고 내가 InstEd 도구가 어떻게 작동하는지 자신을 상기시키기 위해 돌아왔다. 그러나, 나는 또한 당신이 또한 발생할 수있는 오류가 발생하여 추가 정보를 추가하고 싶습니다. 당신이하려고하면

다음과 같은 오류가 발생할 수 있습니다 [설정 적합성을 재 구축] :

add folders

이 다소 비밀 오류입니다. InstEd는 CAB 재 구축을 시도하고있는 위치에 CommonFilesFolder가 필요하다고 말하려고 시도하고 있습니다. 그런 다음 해당 폴더에 Main.exe를 저장하십시오. 또한 동일한 폴더에서 Main.ico를 찾고 있습니다.

대상 .exe 및 .ico (또는 언급 된 모든 파일)를 CommonFilesFolder에 복사하고 다시 빌드를 실행하면됩니다.

+0

InstEd 인터페이스가 너무 직관적이지 않기 때문에 몇 주 전에 위의 답변을 작성하고 잊어 버렸습니다. 오늘 나는 다른 MSI (우리가 지금 라이센스 버전을 소유하고있다)를 편집해야만했고, 소프트웨어를 사용하는 방법을 기억하기 위해 여기로 돌아왔다. ;) – raddevus

+0

어떤 이유로이 방법이 저에게 효과적이지 않습니다. "MakeCab failed"라는 또 다른 오류가 나타납니다. – PASAf