얼마 전 삼성 노트북을 사용하다 팔아버려고 하니 윈도우에서 잘쓰던 삼성 노트 앱이
아래처럼 타 PC에서는 설치가 안되더군요..
전에는 MS 스토어 web에서 받으면 장치 가리지 않고 설치 되었던거 같은데 언제부턴가 막아 놓은거 같더군요 ㅠ
어떻게 할 방법이 없을까 하다 꽤나 괜찮은 방법을 발견해서 글 올려봅니다.
방법은 단순합니다 삼성 노트 앱이 설치된 PC에서 앱을 추출해서 삼성 노트북이 아닌 PC에 설치하는 겁니다.
준비물 : 삼성 노트 설치 원본 파일, Windows 10 sdk kit, PowerShell
일단 아래 링크에서 Windows 10 sdk 를 받아 줍니다.
https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk/
설치를 완료하시면 아래 폴더에 sdk 키트들이 설치됩니다
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0 (bin 폴더 아래 숫자는 버전 넘버 같아보이는데 제일 높은걸로 들어가시면 됩니다.)
여기서 x64폴더에서는 MakeAppx.exe과 SignTool.exe 를 사용할것이구요,
x86폴더에서는 MakeCert.exe와 Pvk2Pfx.exe를 사용할 겁니다.
다음으로 C:\Program Files\WindowsApps 폴더에 들어가보시면 현재 컴퓨터에 설치된 윈도우 앱들이 여기 있습니다.
여기서 삼성 노트가 있는지 잘 확인해 봅니다.
저같은 경우는 "SAMSUNGELECTRONICSCoLtd.SamsungNotes"의 폴더 명으로 되어있습니다.
(가까운 삼성 매장가서 노트북 열고 usb로 이 파일만 가져 오면 않되겠죠..?ㅎ)
참고로 C:\Program Files\WindowsApps 폴더는 숨긴 폴더로 되어있고,
폴더 권한 때문에 탐색기에서는 열리지 않을수도 있습니다.
관리자 권한의 PowerShell로 보시면 볼수 있습니다.
이제 관리자 권한으로 PowerShell을 띄워 줍니다.
cd "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64"
x64 폴더로 이동한 후 아래 명령어를 입력해서 삼성 노트 앱 폴더로 부터 appx를 추출해줍니다.
.\Makeappx.exe pack /d "C:\Program Files\WindowsApps\SAMSUNGELECTRONICSCoLtd.SamsungNotes" /p "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.appx"
appx의 이름은 삼성 노트의 폴더명을 사용했고 C 드라이브에 저장 해줬습니다.
C:\Program Files\WindowsApps\SAMSUNGELECTRONICSCoLtd.SamsungNotes 폴더에 있는 AppxManifest.xml 파일을 열어줍니다.
위줄에 보면 Publisher 항목에 CN=으로 시작하는 숫자들이 있습니다. 이걸 잘 복사 해둡니다.
cd ..\x86\
다시 x86 폴더로 돌아와서 아래 명령어로 인증서를 만들어 줍니다.
.\makecert.exe -r -pe -n "CN=아까 복사해둔 숫자" -eku 1.3.6.1.5.5.7.3.3 -sky exchange -sv "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.pvk" "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.cer"
위와 같이 입력 해주면 인증서 암호 설정하는 팝업창이 나옵니다.
아무거나 입력 해주고 잘 기억 해둡니다.
.\Pvk2Pfx.exe -pvk "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.pvk" -spc "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.cer" -pfx "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.pfx"
위에 명령어를 입력하면 아까 설정했던 암호을 물어봅니다. 잘 입력해줍니다.
cd ..\x64\
다시 x64 폴더로 돌아와서 만든 인증서를 사용해서 아래처럼 appx에대 사인을 해줍니다.
.\signtool.exe sign -fd SHA256 -a -f "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.pfx" "C:\SAMSUNGELECTRONICSCoLtd.SamsungNotes.appx"
이제 생성된 SAMSUNGELECTRONICSCoLtd.SamsungNotes.cer파일을 탐색기에서 오른쪽을 눌러서 인증서 설치를 눌러줍니다.
저장소 위치를 "현재 사용자"와 "로컬 사용자" 2개가 뜨는데 일단 "현재 사용자"를 선택하고
다음을 누르면 인증서 저장 위치를 물어봅니다.
여기서 "모든 인증서 다음 저장소"에 클릭하고 찾아보기에서 "신뢰할수 있는 루트 인증기관"을 선택해줍니다. 설치가 완료되면 똑같것을 "로컬 사용자"에게도 반복 해줍니다.
인증서 설치가 정상적으로 됐다면 SAMSUNGELECTRONICSCoLtd.SamsungNotes.appx파일의 속성에 들어가 디지털 성명 탭에 갑니다.
여기서 인증서 나온 것을 클릭하고 자세히를 눌러보시면
"이 디지털 성명은 유효합니다"라고 나오면 정상적으로 설치 된것 입니다.
(인증서가 제대로 설치 되지 않으면 appx로 설치가 안됩니다ㅠ)
이제 다시 SAMSUNGELECTRONICSCoLtd.SamsungNotes.appx 파일을 더블 클릭해서 설치를 해줍니다.
설치가 완료 됐구요
정상적으로 작동합니다.
게다가 동기화도 잘됩니다.
앱 업데이트 여부는 가능한지 잘 모르겠습니다만..
제가 추출한 버전은 최신 버전인데 업데이트를 시도하니까 동일 버전으로 설치가 되고 앱 실행이 안 됐습니다.
아마 인증서 문제 인거 같아보이는거 같습니다.
그래서 추출한 appx로 다시 설치하니 다시 정상 작동 했습니다.
업데이트는 안되면 그때가서 생각해보고 일단 열심히 써야겠습니다 ^^
PS. 만약에 인증서 문제가 발생해서 설치가 안되면 Win+R에서 certmgr 입력해서 추가한 인증서를 지우고 다시 시도해보세요 (인증서 명은 Publisher 항목의 숫자입니다).
그리고 다른 앱에도 응용 가능한지 한번 해봐야겠습니다.
https://store.rg-adguard.net
위에 홈페이지 가면 인증서 필요없는 appx파일 그냥 받을수 있었네요..ㅎ