문제

명령 줄 인수를 통해 전달 해야하는 바로 가기를 설치할지 여부에 대한 속성이 있습니다. WXS 파일 내에서 속성을 설정할 때 조건이 작동하는 것처럼 보이지만 명령 줄을 통해 속성을 설정할 때는 무시되는 것 같습니다. 로그에서 나는 그들이 설정되고 있음을 알 수 있습니다.

MSI (s) (24:C8) [11:01:32:234]: PROPERTY CHANGE: Modifying INSTALLSTARTUPSHORTCUT property. Its current value is '0'. Its new value: '1'.
MSI (s) (24:C8) [11:01:32:234]: PROPERTY CHANGE: Modifying INSTALLSTARTMENUSHORTCUT property. Its current value is '0'. Its new value: '1'.
MSI (s) (24:C8) [11:01:32:234]: PROPERTY CHANGE: Modifying INSTALLDESKTOPSHORTCUT property. Its current value is '0'. Its new value: '1'.

그러나 바로 가기가 설치되지 않습니다.

또한 조건을 설정하려면 자신의 구성 요소에 있어야하기 때문에 더 이상 광고 된 바로 가기가 될 수없는 것 같습니다. 조건부로 광고 된 바로 가기를 어떻게 설치 하시겠습니까?

현재 바로 가기 코드 :

<Property Id="INSTALLSTARTMENUSHORTCUT" Value="0"/>
...
<Component Id="StartMenuShortcut" Guid="MY-GUID">
  <Condition>INSTALLSTARTMENUSHORTCUT</Condition>
  <Shortcut Id="StartMenuServerShortcut"
    Directory="ProgramMenuDir"
    Name="Application Name" WorkingDirectory="INSTALLDIR" Advertise="no"
    Target="[!FileEXE]"
    Icon="Icon.ico" />
</Component>

다른 바로 가기를 위해 반복

편집하다:

Sacha가 제안한 것을 시도하고 다음을 추가합니다.

<Property Id="INSTALLSTARTUPSHORTCUT" Value="0" Secure="yes"/>
<Property Id="INSTALLDESKTOPSHORTCUT" Value="0" Secure="yes"/>
<Property Id="INSTALLSTARTMENUSHORTCUT" Value="0" Secure="yes"/>

이제 XML과 명령 줄 모두에서 0으로 설정하더라도 모든 단축키가 설치됩니다. 내가 지나가는 명령 줄은 다음과 같습니다.

msiexec /i MySetup.msi INSTALLSTARTUPSHORTCUT=0 INSTALLDESKTOPSHORTCUT=0 INSTALLSTARTMENUSHORTCUT=0 /l*v inst.log /qb

값을 따옴표에 넣었지만 여전히 갈 수 없습니다. 여기에 표시되지는 않지만 Allusers 속성을 Allusers 또는 Allusers = "2"를 수행하여 Allusers 속성을 조작하는 데 성공했습니다. 나는 틀렸다.

도움이 되었습니까?

해결책

여기에는 두 가지 질문이 있기 때문에 두 가지가 있습니다.

  1. 광고 된 바로 가기는 포인트 파일을 설치하는 동일한 구성 요소에 있어야합니다. Windows Installer가 구성 요소의 키패스에서 광고 된 해안을 가리키기 때문에 재평가됩니다. 따라서 선택적으로 설치하려는 경우 광고 된 해안을 사용할 수 없습니다.

나는있다 해안 및 패스 유효성 검사를 만드는 방법에 대한 블로그 게시물.

  1. 사용하는 속성은 설치 UI 프로세스에서 서버 측로 전달하려면 보안으로 표시되어야합니다. 그냥 그렇게하려면

    u003CProperty Id="INSTALLSTARTMENUSHORTCUT" Secure="yes"/>

값 속성을 추가하지 않았다는 점에 주목하십시오. 값이 0이더라도 값을 지정하면 installStartMenUshorCut가 True로 평가됩니다. 빈/정의되지 않은 속성은 False이고 다른 값은 참입니다.

다른 팁

속성을 안전하게 표시하려고 했습니까?

<Property Id="INSTALLSTARTMENUSHORTCUT" Value="0" Secure="Yes" />

문서를보고 있습니다 바로 가기 테이블 나는 당신이 조건부 광고 단축키를 얻을 수 있다고 생각하지 않습니다. 광고 된 시작 메뉴 단축키와 일반 데스크탑 단축키를 설치 하여이 문제를 해결합니다.

IIRC 광고가 예를 세트로 설정 해야하는 경우

당신은 마인드 커퍼 에서이 예를 보았습니다 여기, 레지스트리 항목을 만들 때까지 해안에 문제가있었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top