C++ 如何在安装期间设置MSI中当前登录用户(或任何其他本地用户)的文件夹共享访问权限?
使用的打包工具:WIXC++ 如何在安装期间设置MSI中当前登录用户(或任何其他本地用户)的文件夹共享访问权限?,c++,directory,wix,windows-installer,custom-action,C++,Directory,Wix,Windows Installer,Custom Action,使用的打包工具:WIX 自定义操作是用C++编写的。 安装过程中,MSI在程序数据中创建一个文件夹“X”,在安装结束时,我需要给当前登录用户(或PC中的任何本地用户)提供文件夹共享访问权,用户在安装过程中将提供该输入,我无法找到任何Wix元素或C++ API来帮助我解决这个问题。 我发现在wix中使用元素可以提供对文件夹的权限(文件夹属性的安全选项卡),但我找不到wix元素/C++API来提供共享权限。(文件属性的共享选项卡) 现在,如果你看到“每个人”都有读权限,通过我的MSI,我应该能够在共
自定义操作是用C++编写的。 安装过程中,MSI在程序数据中创建一个文件夹“X”,在安装结束时,我需要给当前登录用户(或PC中的任何本地用户)提供文件夹共享访问权,用户在安装过程中将提供该输入,我无法找到任何Wix元素或C++ API来帮助我解决这个问题。 我发现在wix中使用元素可以提供对文件夹的权限(文件夹属性的安全选项卡),但我找不到wix元素/C++API来提供共享权限。(文件属性的共享选项卡) 现在,如果你看到“每个人”都有读权限,通过我的MSI,我应该能够在共享中提供任何用户的完全访问(完全控制)
WiX在其Util扩展中具有这方面的功能:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="*" Name="WixFolderShare" Language="1033" Version="1.0.0.0" Manufacturer="Someone" UpgradeCode="b3d89acb-71d9-48ab-a3df-886d49965ea3">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MediaTemplate EmbedCab="yes" />
<!--<UIRef Id="WixUI_Mondo" />--> <!-- Diabled main GUI -->
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<Feature Id="ProductFeature" Title="WixFolderShare" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="Test Folder">
<Component Feature="ProductFeature">
<File Source="$(env.SystemRoot)\notepad.exe" />
<util:User Id="Everyone" Name="Everyone" />
<!-- Create Share with share permissions -->
<util:FileShare Id="TestShare" Name="TestShareName" Description="This is a test share.">
<util:FileSharePermission User="Everyone" GenericAll="yes"/>
</util:FileShare>
<!-- NTFS ACL permissions -->
<CreateFolder>
<util:PermissionEx User="Everyone" GenericAll="yes" />
</CreateFolder>
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
WiX在其Util扩展中具有这方面的功能:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="*" Name="WixFolderShare" Language="1033" Version="1.0.0.0" Manufacturer="Someone" UpgradeCode="b3d89acb-71d9-48ab-a3df-886d49965ea3">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MediaTemplate EmbedCab="yes" />
<!--<UIRef Id="WixUI_Mondo" />--> <!-- Diabled main GUI -->
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<Feature Id="ProductFeature" Title="WixFolderShare" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="Test Folder">
<Component Feature="ProductFeature">
<File Source="$(env.SystemRoot)\notepad.exe" />
<util:User Id="Everyone" Name="Everyone" />
<!-- Create Share with share permissions -->
<util:FileShare Id="TestShare" Name="TestShareName" Description="This is a test share.">
<util:FileSharePermission User="Everyone" GenericAll="yes"/>
</util:FileShare>
<!-- NTFS ACL permissions -->
<CreateFolder>
<util:PermissionEx User="Everyone" GenericAll="yes" />
</CreateFolder>
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
添加了一个基于WiX-util组件的示例。添加了一个基于WiX-util组件的示例。我看到文章和代码讨论了文件共享。。有没有类似的文件夹共享方法?标签是什么?尝试安装该示例并检查所涉及的文件夹是否共享。您可以通过点击Windows按钮
+点击R
来执行此操作。现在键入“fsmgmt.msc”
并按Enter键。选中“共享文件夹”。我看到文章和代码都在谈论文件共享。。有没有类似的文件夹共享方法?标签是什么?尝试安装该示例并检查所涉及的文件夹是否共享。您可以通过点击Windows按钮
+点击R
来执行此操作。现在键入“fsmgmt.msc”
并按Enter键。选中“共享文件夹”。