我正在构建一个将多次安装的Web应用程序。应用程序需要能够根据请求自行保存某些设置。
我有一个安装程序(InnoSetup),但我想非常小心我给Web应用程序的权限。
安全性和易于安装都是重大问题。
我也不想弄乱我安装的机器。
FAILED 解决方案是写入注册表的用户部分:
Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\MyCo\\MyApp\\");
var reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\MyCo\\MyApp", true);
reg.SetValue("MyValue", (string)dataString, Microsoft.Win32.RegistryValueKind.String);
但我发现默认情况下,在Server 2012和其他人上也不允许写入HKEY_CURRENT_USER。服务器错误页面很有帮助,并提供了明确给出IUSR_ {MachineName}明确许可的选项,但这对我来说是不行的。
所以我的最终解决方案是让安装程序创建一个用户可配置文件夹,然后为所有用户分配对该文件夹的读/写访问权限。如果需要,管理员可以随时将其锁定。
如果有人有更好的选择,请告诉我。
答案 0 :(得分:1)
使用InnoSetup,我创建了一个新的向导页面,用于建议和收集用户的Data文件夹。然后安装程序: