2013-07-26 13 views
8

Test makinesine servis yüklemek için bir WiX kullanıyorum. Ancak bunu yaptığımda, sadece makineye yükleyen kullanıcı 'Program Ekle/Kaldır' kontrol paneli seçeneğini görebiliyor. Fakat makinedeki her kullanıcı için görünür hale getirmek istiyorum.Wix yükleyicisindeki 'AllUsers' seçeneğinin ayarlanması çalışmıyor

Bazı araştırmalar yaptım ve yükleyiciyi .wxs dosyasında oluştururken AllUSERS özelliğini ayarlamadığımı fark ettim.

Bu nedenle, komutumun bu satırı <Property Id="AllUSERS" Value="1"/> ile güncelledim ve yükleyiciyi oluşturdum. Ancak yine de sadece yüklenen kullanıcı Kontrol Panelinde görebilir.

Yükleyici oluşturmak için komut dosyası İşte.

<?xml version='1.0' encoding='windows-1252'?> 

<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> 

<Product Name='Importer Service' Id='PUT-GUID-HERE' UpgradeCode='PUT-GUID-HERE' 
Language='1033' Codepage='1252' Version='$(var.version)' Manufacturer='Test'> 

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

<Media Id='1' Cabinet='ImporterWebService.cab' EmbedCab='yes' 
     DiskPrompt="CD-ROM #1" /> 
<Property Id='DiskPrompt' Value="Importer Web Service 1.0 Installation [1]" /> 

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> 
<Property Id="AllUSERS" Value="1"/> 

<Directory Id='TARGETDIR' Name='SourceDir'> 

    <Directory Id='ProgramFilesFolder' Name='PFiles'> 
    <Directory Id='Test' Name='Test1'> 
     <Directory Id='INSTALLDIR' Name='Importer Service'> 

     <Component Id='MainExecutable' Guid='*'> 
      <File Id='ImporterWindowsServiceEXE' 
       Name='Importer.WindowsService.exe' DiskId='1' 
       Source='Importer.WindowsService.exe' KeyPath='yes'> 
      </File> 

     <ServiceInstall 
      Id="ImporterServiceInstaller" 
      Type="ownProcess" 
      Vital="yes" 
      Name="Importer Service" 
      DisplayName="Importer Service" 
      Description="Imports data." 
      Start="demand" 
      Account="LocalSystem" 
      ErrorControl="ignore" 
      Interactive="no"> 
    </ServiceInstall> 

     <ServiceControl Id="StartService" Stop="both" Remove="uninstall" 
         Name="Importer Service" Wait="yes" /> 
     </Component> 

     <Component Id='FileHelpersLibrary' Guid='*'> 
      <File Id='FileHelpersDLL' Name='FileHelpers.dll' DiskId='1' 
       Source='FileHelpers.dll' KeyPath='yes' /> 
     </Component>   

     <Component Id='CodeSmithDataLibrary' Guid='*'> 
      <File Id='CodeSmithDataDLL' Name='CodeSmith.Data.dll' DiskId='1' 
       Source='CodeSmith.Data.dll' KeyPath='yes' /> 
     </Component>   

     </Directory> 
    </Directory> 
    </Directory> 

    <Directory Id="ProgramMenuFolder" Name="Programs"> 
    <Directory Id="ProgramMenuDir" Name="Importer Service"> 
     <Component Id="ProgramMenuDir" Guid="*"> 
     <RemoveFolder Id='ProgramMenuDir' On='uninstall' /> 
     <RegistryValue Root='HKCU' 
         Key='Software\[Manufacturer]\[ProductName]' 
         Type='string' Value='' KeyPath='yes' /> 
     </Component> 
    </Directory> 
    </Directory> 

    <Directory Id="DesktopFolder" Name="Desktop" /> 
</Directory> 

<Feature Id='Complete' Title='Importer Service' 
     Description='The complete package' 
     Display='hidden' Level='1' ConfigurableDirectory='INSTALLDIR'> 
    <ComponentRef Id='MainExecutable' /> 
    <ComponentRef Id='FileHelpersLibrary' /> 
    <ComponentRef Id='CodeSmithDataLibrary' />  
    <ComponentRef Id='ProgramMenuDir' />  
</Feature> 

<UIRef Id="WixUI_InstallDir" /> 
<UIRef Id="WixUI_ErrorProgressText" /> 


</Product> 
</Wix> 

Lütfen birisi komut dosyasına bakın ve ne yaptığımı bildirin.

Teşekkürler.

+0

WiX, Windows Installer paketleri oluşturmayı giderek daha kolay hale getiren uzun bir geçmişe sahiptir. İnternette birçok güzel eğitici ve örnek var, ancak çoğu zaman WiX'in evrimine ayak uydurmuyorlar. Onlardan hala öğrenebilirsiniz, ancak mevcut belgeleri (örneğin, XML şeması, ör. IntelliSense aracılığıyla) kontrol ettiğinizden emin olun ve WiXCop aracını çalıştırın, böylece yeni yükleyicilerinizdeki çalışmalarınız günceldir. –

+0

AllUSERS yerine ALLUSERS deneyin –

cevap

13

yerine açıkça ALLUSERS ayar, perMachine için Package elemanın InstallScope ayarlamayı deneyin. Belgelere göre, bu gerçeği:

Seti bu değer paketi makine başına kurulum ve yüklemek için yükseltilmiş ayrıcalıklar gerektirir beyan etmek. 1.

Yani için ALLUSERS özelliğini ayarlar, bu başlık altında gerekli iş yapmak gerekir.