我在加密配置部分时遇到了一些麻烦。我们使用来自外部供应商的包,web.config 的结构如下:
网络配置
<appSettings file="customSettings.config">
<add key="generic_setting" value="true"/>
<add key="another_generic_setting" value="false"/>
</appSettings>
customSettings.config
<appSettings>
<add key="company_db_username" value="sa"/>
<add key="company_db_password" value="secret"/>
</appSettings>
我们使用 WiX 创建安装包 (msi),以便我们可以在我们的组织中部署它。我们执行的一项自定义操作是 appSettings 部分的加密。不幸的是,在上面描述的情况下,它只加密了 web.config 文件中的部分,而让 customSettings.config 保持不变。
我确实注意到 configSource 属性在加密方面比 file 属性好一点,但它不支持合并两个文件中的元素。现在我可以在加密自定义操作中的所有内容之前以编程方式将 customSettings.config 的元素合并到 web.config 中,但我想知道是否有更清洁的解决方案。