gpt4 book ai didi

sql - 在 WiX 中为刚创建的应用程序池标识添加 SQL 权限

转载 作者:行者123 更新时间:2023-12-04 15:37:05 25 4
gpt4 key购买 nike

我有一个 WiX 包,其中有一个组件创建了一个 IIS 7 应用程序池,该池具有 ApplicationPoolIdentity 标识 (IIS AppPool\AppPoolName)。然后我有另一个组件在 SQL Server 数据库中为此身份添加权限(我使用的是 SqlString 扩展)。

当 SQL 运行以添加权限时,我收到以下错误:

Windows NT user or group 'IIS AppPool\AppPoolName' not found.



我假设这是因为 IIS 的事情发生在一个事务中,而应用程序池实际上还没有被提交。

有没有人有更好的方法来解决这个问题?

谢谢!

最佳答案

据我了解 WiX IIS 扩展的工作方式,它会在应用任何更改之前创建元数据库备份。然后,它会按延迟顺序执行您指示它执行的所有操作。如果发生错误,回滚操作只是从备份中恢复以前的状态。否则,如果一切正常,提交操作只会删除备份快照。

所以,考虑到这一点,我认为你的猜测是不正确的。应该可以做你想做的。我怀疑问题出在 Action 顺序上。确保首先执行 IIS 操作,然后执行 SQL 操作,最后执行权限。通过这种方式,您首先创建一个 AppPool,然后执行 SQL 操作,最后应用所需的权限。好吧,我可能是错的,但你应该通过试错法找到正确的顺序。

经验法则:始终生成详细日志。它包含了一切。说真的,这是我最喜欢 Windows Installer 的地方:无论发生了什么,你都会在详细日志中找到它。祝你好运!

关于sql - 在 WiX 中为刚创建的应用程序池标识添加 SQL 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5200135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com