我正在创建一个 WIX 安装程序项目。在一个托管自定义操作期间,我需要在安装文件夹中创建一个文件(除了 WIX 组件中指定的部署文件),默认情况下是 Program Files 文件夹。我在 Windows 7 中遇到“拒绝访问”问题。经过一番搜索,我发现人们说不建议在 Program Files 文件夹中创建文件。相反,尝试将文件创建到例如 AppData 文件夹中。例如,请参阅此链接: C# Access denied to path in a Windows Application
但我的问题是,生成的文件对我们的软件至关重要,所以它必须驻留在安装文件夹中。我的意思是,在大多数情况下,创建文件不是 SW 安装的目标 Program Files 文件夹吗?这是否意味着应该将唯一的文件添加到安装文件夹中,在安装过程中,部署的文件(基本上是 XCopy 的目标)?
我的文件不能在 WIX 中进行部署,也就是说,它不能在安装之前准备好。那么处理这种情况的正确方法或最佳实践是什么:必须在安装过程中生成一个文件,放入安装文件夹。这不是我可以放在其他地方的日志文件。我试图在 WIX 中为 INSTALLADIR 创建一个 Permission 元素,虽然它似乎违反了链接中提到的规则,但它仍然失败。谢谢!
更新:
基于 MichaelUrman 的评论,提供更多信息。生成的文件是软件安装后需要的,软件正常启动时需要的。而且我认为在安装后的正常使用过程中需要对其进行修改。正如我提到我对@caveman_dick 答案的评论,我的 CA 实际上处于提交阶段,我不知道它与普通的延迟 CA 之间是否有任何区别