【发布时间】:2012-03-05 15:13:00
【问题描述】:
我想在安装运行时修改 C:\ProgramData 中用户的权限。只需添加 WRITE 权限。我正在使用 vb 脚本来编辑 msi 表。
此查询运行正常,正在添加行,但安装程序未设置权限。我这里使用的是 ALL 权限设置,我不知道正确的通用读/写值是什么。
query = "INSERT INTO LockPermissions (LockObject, Table, User, Permission) VALUES ('COMMONAPPDATAFOLDER', 'Directory', 'Users', 268435456)”
我找不到一个可行的例子,这一定是一个很常见的场景。我认为 COMMONAPPDATAFOLDER 解析为这样的路径:
C:\ProgramData\CompanyFoo\Foo 产品名称
但我不确定。我想在“CompanyFoo”目录上设置权限,但我不知道如何。
编辑:这是用于构建脚本,而不是自定义 msi 操作。我的问题是我没有使用像 installshield 这样的安装框架,我正在修改 Visual Studio 部署项目的残缺输出。
【问题讨论】:
-
不,更改系统文件夹的权限并不常见。也不推荐。
-
我已经在 CommonAppDataFolder/Company/Product 级别做过几次。问题是,当您进入锁定环境并且应用程序保存预期可用于机器上的其他配置文件的文件时,您究竟可以/应该将它放在哪里?还有其他我不知道的位置吗?
-
我试图建议开发人员编写一个可以将文档上传和下载到虚拟商店的服务,但他们不想这样做。他们只是打开了产品数据文件夹。基本上我们需要一个 Public Documents\Company\Product 类型结构。
-
@michael:谢谢你的回答。我的研究表明并非如此。请参考stackoverflow.com/questions/5116911/…(标注答案)。这正是我想要做的。我还看到主要的软件供应商也在这样做。
-
迈克尔在一般情况下是正确的。我见过许多主要的软件供应商做了他们不应该做的事情。
标签: vbscript windows-installer orca