wix를 사용하여 네임 스페이스 확장을 설치하는 가장 쉽고/가장 쉬운 방법은 무엇입니까? 특히 UAC를 사용하는 Windows 7에 어떻게 설치합니까?Microsoft WIX를 사용하여 네임 스페이스 확장 설치
0
A
답변
1
사용자 지정 작업을 실행하기 전에 명령 줄 옵션을 설정 한 WiX의 사용자 지정 동작을 사용하여이 문제를 해결했습니다. 우리가 어떻게하는지 예제가 있습니다 :
<CustomAction Id='RegisterExtensions.SetProperty' Property='QtExecCmdLine'
Value='"[INSTALLDIR]RegisterExtensionDotNet20_x86.exe" -i "[INSTALLDIR]LogicNP.EZShellExtensions.dll" "[INSTALLDIR]LogicNP.EZNamespaceExtensions.dll" "[INSTALLDIR]MyNse.dll"'/>
<CustomAction Id='RegisterExtensions' BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/>
이것은 64 비트에도 적용됩니다.
<Custom Action="RegisterExtensions.SetProperty" Before="RegisterExtensions">(NOT Installed)</Custom>
<Custom Action='RegisterExtensions' After="InstallFinalize">(NOT Installed)</Custom>
<Custom Action='RegisterExtensions64.SetProperty' Before='RegisterExtensions64'>(NOT Installed) AND (VersionNT64)</Custom>
<Custom Action='RegisterExtensions64' After='RegisterExtensions'>(NOT Installed) AND (VersionNT64)</Custom>
결과는 당신이 EZNamespaceExtension을 포함 할 필요가있다 : 당신은 윅스 구축 파일로도 등록 절차를 예약해야
<CustomAction Id='RegisterExtensions64.SetProperty' Property='QtExecCmdLine'
Value='"[INSTALLDIR]RegisterExtensionDotNet20_x64.exe" -i "[INSTALLDIR]LogicNP.EZShellExtensions.dll" "[INSTALLDIR]LogicNP.EZNamespaceExtensions.dll" "[INSTALLDIR]MyNse.dll"'/>
<CustomAction Id='RegisterExtensions64' BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/>
: 나는 또한 사용자 지정 작업의 별도의 64 비트 버전이 설치 프로그램의 실행 파일.
0
작동하려면 네임 스페이스 확장 관련 레지스트리 항목을 추가해야합니다. 이러한 항목 중 많은 부분에 관리자 권한이 필요합니다. 따라서 사용자가 고도를 허용하지 않으면 UAC ON으로 설치할 수 없습니다.
+0
승격 된 권한이 필요하도록 wix를 구성했습니다. 설치 프로그램을 만들려고하는 네임 스페이스 확장은 EZNamespaceExtension을 사용합니다. 자동 등록 기능을 사용할 수 있습니까? 아니면 필요한 모든 레지스트리 키를 찾아야합니까? – Wienczny
도움 주셔서 감사합니다. 방금 더 간단 해지기를 바랐습니다 .-) – Wienczny
Windows에 설치 작업을 할 때마다 우리 모두는 희망을 갖고 있습니다. 그러나 매번 얼굴에 맞았습니다 :-) – tronda