2014-10-31 1 views
2

저는 WiX 3.8을 사용 중이며 사용자 또는 컴퓨터별로 패키지를 설치할 수있는 옵션을 제공하고자합니다.WixUI_Advanced로 빌드 된 MSI의 사용자 별 설치에 상승 된 권한이 필요한 이유는 무엇입니까?

<?xml version='1.0' encoding='windows-1252'?> 
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> 

    <Product Name='Test' Id='D96B1E41-D392-4841-A526-D9BD50824163' UpgradeCode='FBCC53EC-6365-4D63-A584-F39F9984588B' 
     Language='1033' Codepage='1252' Version='1.0' Manufacturer='Test Manufacterer'> 

     <Package Id='*' Keywords='Installer' 
      Description="Test Installer" InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' /> 

     <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" /> 
     <Property Id='DiskPrompt' Value="Test Installation [1]" /> 

     <Property Id="ApplicationFolderName" Value="Test" /> 
     <Property Id="WixAppFolder" Value="WixPerUserFolder" /> 

     <Directory Id='TARGETDIR' Name='SourceDir'> 
      <Directory Id='ProgramFilesFolder' Name='PFiles'> 
       <Directory Id='APPLICATIONFOLDER' Name='Test'> 
        <Component Id='Test' Guid='3A810A32-0514-4616-993C-B5BBACB74FC6'> 
         <File Id='TestFile' Name='test.txt' DiskId='1' Source='test.txt' KeyPath='yes' /> 
        </Component> 
       </Directory> 
      </Directory> 
     </Directory> 

     <Feature Id='Complete' Title='Main Program' Description='The main program.' 
      Display='collapse' Level='1' ConfigurableDirectory='APPLICATIONFOLDER'> 
      <ComponentRef Id='Test' /> 
     </Feature> 

     <UIRef Id="WixUI_Advanced" /> 
    </Product> 
</Wix> 

나는 다음과 같은 명령 줄을 사용하여 MSI를 짓고 있어요 : the docs 당, 나는 다음 테스트 .wxs 파일이이 잘 작동 및 오류 또는 경고없이 성공

candle test.wxs && light -ext WixUIExtension test.wixobj 

,하지만 때 MSI를 제한된 사용자로 실행하고 "Install just for you"옵션을 선택하면 설치를 클릭 할 때 수퍼 유저의 자격 증명을 묻는 메시지가 계속 표시됩니다. 적절한 자격 증명을 제공하면 프로그램이 사용자의 AppData 폴더에 예상대로 설치됩니다. 왜 권한 상승에 대한 메시지가 나옵니까? 이 동작을 변경할 수있는 방법이 있습니까?

+0

결국이 문제를 해결할 수 있었습니까? 나는 여기에 같은 ... 여러 msi로 끝내고 싶지 않아요. – rfcdejong

+0

해결책을 찾던 것을 기억하지 못합니다. 죄송합니다. – cqcallaw

답변

1

제한된 사용자가 MSI를 설치할 수 있음을 Windows에 알리려면 InstallPrivilege 패키지를 제한으로 설정해야합니다. 그러면 UAC 프롬프트가 표시되지 않으며 제한된 사용자가 보안을 위반하는 작업을 시도하면 설치가 실패합니다.

+2

흠, 이것은 내가 원하는대로 작동하지 않습니다. 제한된 InstallPrivileges 속성을 추가하면 사용자 별 또는 컴퓨터 별 옵션을 설치하는 대신 패키지를 사용자별로 설치해야합니다. – cqcallaw