如何为计算机上的所有用户帐户安装exe文件?
本文关键字:安装 exe 文件 用户 计算机 | 更新日期: 2023-09-27 18:03:20
我想分发一个应用程序(简单的一个exe文件),以便用户安装它一次,它将安装为该计算机上的所有用户帐户。它应该在没有Wix / InstallShield / Setup-project的情况下完成。(Clickonce甚至不支持多用户安装)
怎么做?注册表编辑(哪一个?),手动创建msi文件(如何创建?)有参考指南吗?)?
编辑
我的问题是不是如何在安装时执行一些命令。这个问题是关于Windows如何知道安装了哪些应用程序。
基本上有两种方法在Windows中安装应用程序。让我把它们命名为旧的和新的。
老方法
需要手动执行以下步骤:
-
将所有需要的文件复制到所有用户都可以访问的位置,例如
C:'Program Files'YourApplication
(或'Program Files (x86)
,如果它是64位Windows上的32位应用程序) -
安装并注册所有的先决条件(如。net框架)。
-
为所有用户创建开始菜单和/或桌面图标,并将它们放置在适当的位置。例如,对于Windows 7,这将是
C:'ProgramData'Microsoft'Windows'Start Menu'Programs
和C:'Users'Public'Desktop
。 -
(可选)创建一个可执行文件,反转上述所有步骤(例如
uninstall.exe
),将其复制到您的程序文件子目录中,并在HKEY_LOCAL_MACHINE'SOFTWARE'Microsoft'Windows'CurrentVersion'Uninstall
中创建一个指向此卸载exe的条目。这将允许用户卸载应用程序。
多年来一直是这样做的。Windows不知道安装了哪些应用程序,它只知道哪些应用程序可以卸载。
新方法
你提供一个MSI文件,它基本上是一个数据库,包含关于你的软件和它应该如何安装的信息,让Windows Installer做所有的工作。Windows 2000是第一个包含Windows安装程序的操作系统。
Windows Installer 使跟踪已安装的程序,这允许它做一些有用的事情,例如
- 确定补丁是否适合已安装的版本,
- 重新安装意外删除的丢失文件,
- 等。
请注意,Windows安装程序配置数据不容易访问,所以你不能只是添加几个注册表项来"注册"你的应用程序与Windows安装程序。如果你想安装Windows Installer,你需要一个MSI文件。
MSI格式是相当复杂的,然而,这就是为什么工具,如InstallShield, WiX等已经开发出来。例如,WiX基本上是一个XML -> MSI转换工具。它仍然非常接近MSI结构,但简化了很多事情。(是的,WiX是复杂的,但MSI更是如此。)
有一个非常强大的基于脚本的开源应用程序来构建安装程序项目。它被称为NSIS。你可以在这里找到http://nsis.sourceforge.net/Main_Page
你可以简单地指定你的exe文件,从哪里把它和在哪里安装它。上面的链接中还提供了一个全面的文档
我不确定它对您的情况是否有帮助,但您可以创建一个登录脚本。此脚本将在用户登录到域后运行。
登录脚本