1

我还有一个我打算共享的文件夹的 PathEdit 控件。我想允许用户在同一个 PathEdit 控件(受支持)中输入 UNC 路径。

问题是,当输入 UNC 路径时,在安装过程中它会尝试共享它。

如果它的 UNC 路径,我怎样才能让它不共享?

这是代码片段:

PathEdit 控件定义:

<!-- Target audio files directory -->
        <Control Id="lblAudioFilesDirectory" Type="Text" X="20" Width="100" Y="135" Height="18" NoPrefix="yes" Text="!(loc.AudioFilesDirectoryLabel)" />
        <Control Id="peAudioFilesDirectory" Type="PathEdit" X="120" Width="180" Y="135" Height="18" Property="PROP_AUDIODIR" Indirect="yes" />
        <Control Id="btnAudioFilesDirectory" Type="PushButton" X="305" Width="20" Y="135" Height="18" Text="!(loc.Browse)">
          <Publish Property="_BrowseProperty" Value="[PROP_AUDIODIR]" Order="1">1</Publish>
          <Publish Event="SpawnDialog" Value="Custom_BrowseDlg" Order="2">1</Publish>
        </Control>

目录片段:

<Directory Id="AUDIOFOLDER" Name="AudioFiles">
    <Component Id="cmpAUDIOFOLDER" Guid="{8BCFBEA2-9E7B-4E45-8838-6A71216C9B20}">
    <CreateFolder />
    <util:User Id="Everyone" Name="Everyone"></util:User>
    <util:FileShare Id="fsAudioFiles" Description="Audio files" Name="AudioFiles">
    <util:FileSharePermission User="Everyone" GenericAll="yes" />
    </util:FileShare>
    </Component>
</Directory>

我可以做一些有条件的工作吗

<util:User Id="Everyone" Name="Everyone"></util:User>
        <util:FileShare Id="fsAudioFiles" Description="Audio files" Name="AudioFiles">
        <util:FileSharePermission User="Everyone" GenericAll="yes" />
        </util:FileShare>

只有在路径不是 UNC 时才能使其工作?

4

1 回答 1

2

AComponent是 Windows 安装程序中安装的原子单元,所以这就是您想要的Condition。假设有Directory/@Id问题的文件夹是AudioFiles您可以执行以下操作:

<Component Id="cmpAUDIOFOLDER" Guid="PUT-GUID-HERE"
           Directory="AudioFiles">
   <!-- If the AudioFiles directory starts with a double backslash, it's a network
        share, so share it with everyone. -->
   <Condition>AudioFiles &lt;&lt "\\"</Condition>

   <CreateFolder />
   <util:FileShare Id="fsAudioFiles" Description="Audio files" Name="AudioFiles">
     <util:FileSharePermission User="Everyone" GenericAll="yes" />
   </util:FileShare>
</Component>
于 2013-04-17T13:12:39.763 回答