Linux를 사용하여 msi 파일 추출


23

관련 : MSI 패키지에서 파일을 추출하는 방법?

Linux를 사용하여 MSI 설치 프로그램의 내용을 추출하려면 msiexecwine과 함께 사용하거나을 사용할 수 있습니다 7zip.

그러나 후자는 디렉토리와 파일 이름을 일부만 보존하지 않습니다. 사용할 필요없이 MSI 파일을 올바르게 추출하는 방법이 wine있습니까?


편집 : 마이크로 소프트의 Infer.NET의 문제를 설명하기는 여기 7zip과가 생산하고 파일의 목록이며 여기에 (후자는 내가 원하는 곳)에 msiexec가 생산하고 하나


기사는 우분투에 도움이되기를 바랍니다. 또한 Jsmsix.exe 시도 하십시오 .
avirk

고마워, 나는 이미 기사를 읽고 7zip 문제를 해결하지 못합니다 (예 : cabextract와 함께). wine기본적으로 Windows 실행 파일을 실행할 수 없으므로 Jsmsix가 여전히 필요합니다 .
Michael Schubert

어떤 문제에 직면했는지 7zip설명 할 수 있습니까?
avirk

예를 추가했습니다
Michael Schubert

2
내가하고 싶은 것은 Archlinux를위한 빌드 스크립트를 만드는 것입니다. 설정 된 와인은 모노에만 의존 해야하는 것을 설치할 수 있기 때문에 매우 큰 의존성입니다.
Michael Schubert

답변:


9

도움이되지는 않지만 lessmsi 는 기본 Linux 버전에서 작동합니다. 원하는대로 디렉토리 구조를 유지하므로 이것이 장기적인 문제인지 확인하는 것이 좋습니다. 불행히도 Linux에서 .msi 지원은 매우 드문 것으로 보이므로 와인을 통해 덜 MSI 또는 msiexec를 사용하는 것이 유일한 옵션 일 수 있습니다.


실제로 와인을 사용하고 Linux의 경우 덜 MSI를 기다리는 최고의 솔루션 인 것 같습니다.
Michael Schubert

4
참고 : lessmsi의 최신 릴리스에서는 택시 추출 코드를 Linux에서 실행 해야하는 휴대용 라이브러리 인 libmspack으로 옮겼습니다. 그래서 우리는 최근 리눅스 지원을 향한 구체적인 발걸음을 내딛었습니다. 곧 휴대용 msi lib를 사용하여 모든 것을 휴대용으로 만들려고합니다.
Scott Willeke

-1. 리눅스 버전은 몇 년이 지난 후에도 여전히 존재하지 않으며, 와인을 사용하지 않고 MSI 파일을 올바르게 추출 할 수있는 방법이 있었기 때문에 문제가 아닙니다. user2834 sudo apt install msitools의 답변에서 권장하는대로 msitools 패키지 ( 우분투) 에서 msiextract를 대신 사용 했습니다.
Lissanro Rayen

19

msiextract를 사용해보십시오 ( https://live.gnome.org/msitools)

그리고 오픈 버그!


14.04에 대한 패키지가 없으며 빌드하는 데 많은 도구 / 라이브러리와 기술이 필요합니다. 포기
harry

1
데비안에 있으며, 우분투 윌리는 launchpad.net/ubuntu/+source/msitools 입니다. 그런 다음 간단히 "msiextract file.msi"를 호출하면됩니다. 더 이상 기술이 필요하지 않습니다.
user2834

여기에서 작동하며 파일 이름과 경로를 유지합니다. 감사.
Simon A. Eugster

1

cabextract 라는 소프트웨어를 사용해 볼 수 있습니다. 최소한 우분투에는 패키지가 있으며 다른 인기있는 배포판에서도 찾을 수 있습니다.


4
힌트를 주셔서 감사하지만 cabextract는 파일 이름과 디렉토리를 부분적으로 보존하지도 않으므로 7zip보다 성능이 떨어집니다.
Michael Schubert

MSI 형식은 여러 계층입니다. 최상위 수준에서는 .msi 파일 내부에 데이터 블록이 흩어져있는 디스크 이미지입니다. 디스크 이미지를 디코딩하면 .cab 파일 및 데이터베이스 파일을 포함한 여러 파일이 포함됩니다. cabextract는 .msi 이미지 내에서 CAB 파일 헤더를 찾지 만 전체 .cab 파일이 연속적이지 않아 추출 할 수 없습니다. 7zip은 디스크 이미지를 추출한 다음 CAB 파일 추출 할 수 있지만 데이터베이스 파일을 읽는 방법을 모르므로 msi 파일과 같이 CAB 파일 항목을 실제 설치 경로에 매핑합니다.
Stuart Caie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.