在运行 VS2010 安装程序 MSI 之前检查管理员权限的 OOTB 方法?
我正在为在 XP-Win7 上的 IE7-9 中运行的第 3 方 ActiveX DLL 创建安装程序。 MSI 应执行以下操作:
- 检查管理员权限。如果权限不足,通知用户并退出。
- 检查以前的版本。如果存在则取消注册或覆盖它。
- 使用 vsdrfCOM 安装 DLL,以便 IE 附加菜单能够识别它。
对于(3),我设置了vsdrfCOM,但它似乎不起作用。我没有看到执行 (1) 或 (2) 的 OOTB 方式。这是正确的还是有 OOTB 方式?
谢谢。
I'm creating an installer for a 3rd Party ActiveX DLL running in IE7-9 on XP-Win7. The MSI should perform the following:
- Check for admin permissions. Notify the user and exit if insufficient permissions.
- Check for previous version. If it exists unregister or overwrite it.
- Install the DLL with vsdrfCOM so that it is recognized in the IE add-on menu.
For (3), I set the vsdrfCOM but it didn't seem to work. I don't see an OOTB way to perform (1) or (2). Is that correct or is there an OOTB way?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于 Windows UAC 在较新的 Windows 版本上的工作方式,这并未得到真正支持。基本上,任何用户都可以通过提升成为管理员。此外,即使是管理员也没有完全的权限,除非他们提升权限。
解决方案是确定安装类型(每用户或每计算机)并让 Windows Installer 处理权限和提升。
当使用 major 时,此操作会自动完成升级。
我认为这还不够。安装过程应该注册您的文件,就像您手动注册它们一样。
经验法则是首先手动安装应用程序(复制/粘贴、执行注册命令行等)。只有这样您才能成功配置自动执行此操作的安装程序。
This is not really supported because of the way Windows UAC works on newer Windows versions. Basically, any user can become an Administrator through elevation. Also, even Administrators don't have full privileges unless they elevate.
The solution is to decide on an installation type (per-user or per-machine) and let Windows Installer handle permissions and elevation.
This is done automatically when using major upgrades.
I don't think this is enough. The installation process should register your files just like you would register them manually.
A rule of thumb is to first install your application manually (copy/paste, execute register command lines etc.). Only then you will be able to successfully configure an installer which does it automatically.