0

wixDirectoryCombo要素には属性RemoteとがありますFixedRemote属性をに設定するとno、この要素によって作成されるドロップダウン リストからネットワーク共有が削除されます。同様に、Fixed属性をに設定するnoと、ローカル ドライブを除外するリストが生成されます。私の問題は、ネットワーク共有のみを表示するようにリストを制限できないことです。Remoteが に設定されていyesFixedが に設定されている場合no、ドロップダウン リストが希望どおりに動作することを期待します。つまり、ネットワーク共有のみを表示します。Propertyただし、そのリストのデフォルト エントリには、その属性が割り当てられているプロパティ値が常に表示されます。

このデフォルト エントリが表示されないようにする方法はありますか?

4

1 に答える 1

1

はい。そのダイアログを実行する前に、ネットワーク ドライブの値のいずれかをそのDirectoryComboプロパティに設定することで、これを防ぐことができます。ネットワーク ドライブを読み取るカスタム アクションを作成し、ドライブの値のいずれかをそのディレクトリ プロパティに設定して、InstallUISequence でカスタム アクションをスケジュールします。

[CustomAction]
    public static ActionResult CustomAction1(Session session)
    {       
        DriveInfo[] drives = DriveInfo.GetDrives();
        foreach (DriveInfo drvInfo in drives)
        {
            if (drvInfo.DriveType == DriveType.Network)
            {
                session["SHARED_DRIVE"] = drvInfo.Name;
                break;
            }
        }
        return ActionResult.Success;
    }

  <Binary Id="SharedDrive" SourceFile="TestProject.CA.dll" />
  <CustomAction Id="SHAREDDRIVE" BinaryKey="SharedDrive" DllEntry="CustomAction1" Return="check" />

 <InstallUISequence>
     <Custom Action="SHAREDDRIVE" After="AppSearch">Not Installed</Custom>
 </InstallUISequence>
于 2013-05-14T09:22:57.530 に答える