2014-10-22 2 views
0

은 Wix를 사용하여 MSI를 만들었습니다. 설치를 시도 할 때 아래 오류가 나타납니다. "설치 관리자는 c : \ programfiles \ AppTest 디렉터리에 액세스 할 수있는 권한이 없습니다. 설치 관리자는 계속 로그온 할 수 없으며 시스템 관리자에게 문의하십시오." 비슷한 게시물을 검토했지만 도움이되지 않았습니다. 아래 코드를 따르십시오.MSi 설치 오류

<?xml version='1.0'?> 
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> 
<Product Name='AppTest' Id='*'enter code here 
    UpgradeCode='{05E35D34-E7F6-4CED-BF86-B1747AE92E07}' 
    Language='1033' Codepage='1252' 
    Version='2.0.0.1' 
    Manufacturer='LabView Inc' > 

     <Package Id='*' 
     Languages='1033' 
     SummaryCodepage='1252' 
     AdminImage='no' 
     InstallerVersion='200' 
     InstallPrivileges='elevated' 
     Compressed='yes' 
     ReadOnly='yes' 
     ShortNames='yes' 
     Comments='AppTest Installer Package' 
     Description='AppTest Installer Package' 
     Manufacturer='LabView Inc' /> 

     <Media Id='1' Cabinet='AppTest.cab' EmbedCab='yes' /> 

     <!--Directory structure--> 
     <Directory Id='TARGETDIR' Name='SourceDir'> 
      <Directory Id='ProgramFilesFolder'> 
       <Directory Id="APPLICATIONROOTDIRECTORY" Name="AppTest"/> 
      </Directory> 
     </Directory> 

    <!-- Adding Components--> 

    <DirectoryRef Id="TARGETDIR"> 
     <Component Id="AppTest.dll" Guid="3947344C-8116-48FB-9F8A-080EA7D1ABAD"> 
     <File Id="AppTest.dll" Source="$(sys.CURRENTDIR)files\AppTest.dll" KeyPath="yes" Checksum="yes"/> 
      <File Id="msvcp80.dll" Source="$(sys.CURRENTDIR)files\msvcp80.dll" /> 
      <File Id="atl80.dll" Source="$(sys.CURRENTDIR)files\atl80.dll" /> 
      <File Id="msvcr80.dll" Source="$(sys.CURRENTDIR)files\msvcr80.dll" /> 
      <File Id="Microsoft.VC80.ATL.manifes" Source="$(sys.CURRENTDIR)files\Microsoft.VC80.ATL.manifest" /> 
      <File Id="Microsoft.VC80.CRT.manifest" Source="$(sys.CURRENTDIR)files\Microsoft.VC80.CRT.manifest" /> 
      <File Id="AppTest.inf" ReadOnly="yes" Source="$(sys.CURRENTDIR)files\AppTest.inf" /> 
     </Component> 
    </DirectoryRef> 


    <Feature Id="AppTestFeature" Title="AppTest" Level="1"> 
     <ComponentRef Id="AppTest.dll" /> 

    </Feature> 


</Product> 

+0

귀하의 설치를 "\ 프로그램 파일 C"파일을 작성하려고합니다. 기본적으로 Administrators 그룹의 구성원 만이 사용할 수 있습니다. 또한 UAC를 사용할 수 있고 관리자 인 경우 권한을 낮추었으며 프로그램을 설치하려면 "관리자 권한으로 실행"해야합니다. –

+0

관리자 권한이 있습니다. – bally

+0

@bally 내 대답을 확인하고,'TARDETDIR' (C : \)에서'APPLICATIONROOTDIRECTORY'로 바꾸고 싶습니다. – Buzka91

답변

0

이에 <CreateFolder Directory='AppTest' /> 및 변경 코드를 제거해야합니다 : 디렉토리 :

<DirectoryRef Id="APPLICATIONROOTDIRECTORY"> <!-- main folder ur app --> 
     <Component Id="AppTest.dll" Guid="3947344C-8116-48FB-9F8A-080EA7D1ABAD"> 
      <File Id="AppTest.dll" Source="$(sys.CURRENTDIR)files\AppTest.dll" KeyPath="yes" Checksum="yes"/> 
      <File Id="msvcp80.dll" Source="$(sys.CURRENTDIR)files\msvcp80.dll" /> 
      <File Id="atl80.dll" Source="$(sys.CURRENTDIR)files\atl80.dll" /> 
      <File Id="msvcr80.dll" Source="$(sys.CURRENTDIR)files\msvcr80.dll" /> 
      <File Id="Microsoft.VC80.ATL.manifes" Source="$(sys.CURRENTDIR)files\Microsoft.VC80.ATL.manifest" /> 
      <File Id="Microsoft.VC80.CRT.manifest" Source="$(sys.CURRENTDIR)files\Microsoft.VC80.CRT.manifest" /> 
      <File Id="AppTest.inf" ReadOnly="yes" Source="$(sys.CURRENTDIR)files\AppTest.inf" /> 
     </Component> 
    </DirectoryRef> 
+0

답장을 보내 주셔서 감사합니다. 제안 된대로 코드를 수정했지만 여전히 동일한 오류가 발생합니다. – bally

+0

제안 사항대로 변경했지만 MSI는 UAC가 꺼져있을 때만 작동합니다. 하지만 MSI를 설치하려면 UAC가 켜져 있거나 꺼져 있어야합니다. 이를 달성하는 방법에 대한 아이디어를 제공해주십시오. – bally

+0

@bally [이 기사 확인] (http://csi-windows.com/blog/all/27-csi-news-general/335-how-to-silence-the-uac-prompt-for-per-machine -msi-packages-for-non-admins) – Buzka91