나는 AutoCAD와 함께 실행하고 통과하는 동안 AutoCAD의 acad.exe 바로 가기를 만드는 데 사용되는 배포 프로젝트 (Wix 기반)에서 작업 중입니다. 그것의 자신의 주장.32 비트 MSI : 64 비트 응용 프로그램의 단축 경로 대상 경로를 32 비트 경로로 변환
이 작업을 수행하려면 Autocad의 레지스트리 키를 반복하고 "acad.exe"위치를 얻고 런타임시 MyInstaller.msi의 MSI Api 메서드를 사용하여 바로 가기를 작성/업데이트하는 사용자 지정 작업 dll (C++)이 있습니다.
문제 : 윈도우 7과 같은 64 비트 OS에
, 사용자 지정 작업이 레지스트리에서 'acad.exe'위치 적절한을 읽고 즉, C : \ Program Files \ AutoCAD를 2010 acad.exe \ 및 업데이트 런타임시 msi의 바로 가기 속성. 그러나 msi가 바로 가기 생성을 완료하면 경로는 32 비트 프로그램 파일 즉 C : \ Program Files (x86) \ AutoCAD 2010 \ acad.exe로 변환됩니다. 실제로는 존재하지 않습니다. 약
내 작업 : 내 MSI로
는 32 비트 (86), 그래서/갱신이 구성 요소에 대한 바로 가기를 만들 수 속성의 Win64 = 예, 수정 된 사용자 지정 작업과 별도의 구성 요소를 만들었습니다. 그러나 바로 가기의 대상 경로는 C : \ Program Files (x86)로 변환됩니다.
x64 OS 용 MSI를 변환하면 해결 될 수도 있지만 현재로서는 큰 변화를 할 수 없습니다.
32 비트 msi가 x64 OS 경로가 포함 된 바로 가기를 만들 수있는 방법이 있습니까?
아무 도움이 정말 감사하겠습니다.
고마워.
안녕 크리스토퍼 감사 자세한 응답을 많이 :). 글쎄, 반복 접근법을 사용하여 AutoCAD 레지스트리 키를 읽으려면 사용자 지정 작업을 사용해야합니다. 반복적 인 접근법의 목적은 하나의 머신에 여러 버전의 AutoCAD가 존재하기 때문에 AutoCAD가로드 할 파일의 매개 변수를 전달하면서 AutoCAD의 각 버전에 대한 바로 가기를 만들어야합니다. 그리고 MSI의 AppSearch/Reglocator를 통해이를 수행 할 수 없습니다. 당신이 제안한 다른 방법은 제가 지금 생각하고있는 것입니다. 그러나 그 전에는 긴 경로를 짧은 경로로 변환하려고합니다. –
64 비트 exe를 만드는 것은 좋은 생각입니다.하지만 먼저 프로젝트 팀 매니저와상의해야합니다. 그래서 그들은이 문제에 동의 할 것이라고 생각하지 않습니다. ( –
유일한 방법은 다음과 같이 실험 해 봅니다. 64 비트 MSI는 샘플 설치이었다과 구성 요소는 64 비트였다. 그래서 나는 또한 64 비트 OS에 대해 별도의 x64bit의 MSI을 가지고 고려하고, x64bit MSI뿐만 아니라 32 비트 구성 요소를 제공 할 수 있기 때문이다. 덕분에 고려에 대한 많은 내 쿼리. :) –