我们使用的应用程序在首次启动时编辑c:WindowsMicrosoft.NETFrameworkv4.0.30319Configmachine.config
文件。它添加的数据是这样的:
<appSettings file="">
<clear />
<add key="<app-specific token>" value="<path to a file>" />
</appSettings>
这似乎是一个坏主意。这是合法的做法吗?还是应用程序开发人员找到了错误的东西来挥舞他的锤子?
还有一个后续问题。这使得应用无法以非管理员用户身份运行。我们可以做些什么来解决这种行为吗?
请记住,那里的所有设置都是机器范围的。因此,应该修改machine.config
的典型应用程序是,
- 数据库驱动程序安装程序,因为默认设置可能会影响所有应用。
- 优化工具,因为它们可能会调整影响所有应用的某些设置。
- 其他可能的情况(过于宽泛,无法描述)。
回到你的案例。您想在appSettings
中向machine.config
添加哪种配置?您真的需要为计算机上的所有应用程序执行此操作吗?如果没有,请将设置移动到您的web.config
然后不需要管理员权限,
https://msdn.microsoft.com/en-us/library/610xe886.aspx
这是一个很好的保护文件,但这种特定的更改似乎很好。如果您有权更改代码,则可以将其删除并从不太宝贵的文件中获取该配置。 这段代码有可能"不知道它在哪里"运行,并且需要某种中央配置,但这似乎很牵强。