小编Hil*_*ila的帖子

WIX:授予文件夹权限

我已阅读所有相关主题,但未找到问题的完整答案.

我想将SYSTEM的完全权限和用户组的读取和执行权限授予Program Files下的文件夹.没有更多,没有更少.

我知道有三种方法可以使用WIX为文件夹授予权限,但这些方法对我来说都不是很好,我将解释原因:

1)常规权限元素:

    <CreateFolder Directory="Test">
      <Permission User="SYSTEM" GenericAll="yes"/>
      <Permission User="Users" Domain="[LOCAL_MACHINE_NAME]" 
      GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
    </CreateFolder>
Run Code Online (Sandbox Code Playgroud)

问题:它在外部操作系统上失败,因为它不知道"Users"关键字.我也尝试过SID.除此之外,我需要将Permission元素放在Test目录中的每个文件下(但如果这是唯一的情况,我会管理)

2)WixUtilsExtension PermissionEx元素:

    <CreateFolder Directory="Test">
      <util:PermissionEx User="SYSTEM" GenericAll="yes"/>
      <util:PermissionEx User="Users" Domain="[LOCAL_MACHINE_NAME]" 
      GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
    </CreateFolder>
Run Code Online (Sandbox Code Playgroud)

问题:该文件夹还保留Program Files文件夹的默认权限.我不能允许.

3)使用Sddl的PermissionEx:

问题:此元素仅在使用MSI 5.0安装时可用.我正在使用安装程序3.01.

我很乐意获得任何解决方案,包括采用自定义操作的解决方案......

permissions installer windows-installer wix wix-extension

18
推荐指数
3
解决办法
2万
查看次数

在InitializeComponent()期间触发Form.OnResize

我在XP英文机器和XP日本机器上运行相同的UI代码.出于某种原因 - 这两台机器之间的行为是不同的:

在日语机器上,OnResize事件在InitializeComponent调用期间被触发(我认为是来自ResumeLayout函数).在英语机器上它没有.

我有一个OnResize的覆盖方法,它改变我定义的私有变量的值.由于组件未完全加载(Ctor仍在运行),这些变量为空,我得到一个异常.

我可以通过检查变量是否为null来修复代码,但我想了解为什么它首先被调用以及为什么它只在这台机器上发生.

在我通过网络搜索期间,我发现了其他人发布的相同问题,但没有解决方案(http://social.msdn.microsoft.com/Forums/en/winforms/thread/95aefae4-45d8-4ac5-a8f2- 6e2142dfb631).

onresize initializecomponent

4
推荐指数
1
解决办法
907
查看次数