4

同様の質問があります

カスタマイズ ダイアログでコンテキスト メニュー (選択ツリー) を編集しますか?

しかし、受け入れられた回答のリンクには次のように記載されています:

「機能全体をオプションからローカル ハード ドライブにインストールすることはできません。これは、サブ機能がある場合にのみ表示され、サブ機能と機能自体のインストールを有効にします。ローカル ハード ドライブにのみインストールされます。サブフィーチャーには影響しません。

ただし、サブ機能はありませんEntire feature...オプションを削除するには?

以下にコードを示します。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
   <Product Id="*" Name="WixTestFeatureTree" Language="1033" Version="1.0.0.0" Manufacturer="TestManufacturer" UpgradeCode="bb04a635-6251-4fd5-8d2f-182d3441dc0a">
      <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

      <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
      <MediaTemplate />

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

      <Feature Id="ExeFeature" Title="The EXE file" Level="1">
         <Component Id="TheApp" Guid="*" Directory="INSTALLFOLDER">
            <File Id="TestExe" Source="Test.exe" Vital="yes"></File>
         </Component>
      </Feature>

      <Feature Id="PdfFeature" Title="The PDF file" Level="1">
         <Component Id="ThePDF" Guid="*" Directory="INSTALLFOLDER">
            <File Id="TestPDF" Source="Test.pdf" Vital="yes"></File>
         </Component>
      </Feature>
   </Product>

   <Fragment>
      <Directory Id="TARGETDIR" Name="SourceDir">
         <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="WixTestFeatureTree" />
         </Directory>
      </Directory>
   </Fragment>
</Wix>
4

2 に答える 2

1

サブ機能がない場合でも、Windows インストーラーは常に「 Entire feature will be installed on local hard drive」項目を表示しているようです。少なくとも、このアイテムは、目に見えるサブ機能がないテストしたすべてのケースに存在していました. また、Windows インストーラーのバージョンにも依存する可能性があります。最新の更新プログラムをすべて適用した Windows 7 でテストしました。

Windows インストーラーでは、サブ機能を持たない機能のローカル ハード ドライブにすべての機能がインストールされるという項目が表示されないといつも思っていました。最新のテストで、私が間違っていることが証明されました。

于 2015-02-02T07:10:28.853 に答える
0

インストーラーで別の UI を使用するには、UI タイプを追加する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
   <Product Id="*" Name="WixTestFeatureTree" Language="1033" Version="1.0.0.0" Manufacturer="TestManufacturer" UpgradeCode="bb04a635-6251-4fd5-8d2f-182d3441dc0a">
      <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

      <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
      <MediaTemplate />

      <UI Id="MyWixUI_FeatureTree">
         <UIRef Id="WixUI_FeatureTree" />
      </UI>
      <UIRef Id="WixUI_ErrorProgressText" />

      <Feature Id="ExeFeature" Title="The EXE file" Level="1">
         <Component Id="TheApp" Guid="*" Directory="INSTALLFOLDER">
            <File Id="TestExe" Source="Test.exe" Vital="yes"></File>
         </Component>
      </Feature>

      <Feature Id="PdfFeature" Title="The PDF file" Level="1">
         <Component Id="ThePDF" Guid="*" Directory="INSTALLFOLDER">
            <File Id="TestPDF" Source="Test.pdf" Vital="yes"></File>
         </Component>
      </Feature>
    <UIRef Id="WixUI_Mondo"></UIRef>
   </Product>

   <Fragment>
      <Directory Id="TARGETDIR" Name="SourceDir">
         <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="WixTestFeatureTree" />
         </Directory>
      </Directory>
   </Fragment>
</Wix>

を追加 <UIRef Id="WixUI_Mondo"></UIRef>し、WixUIExtension.dll への参照も追加します

各機能には**Level**属性があり、level=1 は機能がインストールされることを意味します。たとえば、レベルを 1000 に変更すると、ユーザーはカスタム ダイアログで天気を選択して、この機能をインストールするかどうかを選択できます。

于 2015-01-22T07:32:19.927 に答える