0

wixDirectoryCombo元素具有属性RemoteFixed。通过将Remote属性设置为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 回答