如何为计算机上的所有用户帐户安装exe文件?

本文关键字:安装 exe 文件 用户 计算机 | 更新日期: 2023-09-27 18:03:20

我想分发一个应用程序(简单的一个exe文件),以便用户安装它一次,它将安装为该计算机上的所有用户帐户。它应该在没有Wix / InstallShield / Setup-project的情况下完成。(Clickonce甚至不支持多用户安装)

怎么做?注册表编辑(哪一个?),手动创建msi文件(如何创建?)有参考指南吗?)?

编辑

我的问题是不是如何在安装时执行一些命令。这个问题是关于Windows如何知道安装了哪些应用程序。

如何为计算机上的所有用户帐户安装exe文件?

基本上有两种方法在Windows中安装应用程序。让我把它们命名为旧的新的

老方法

需要手动执行以下步骤:

  • 将所有需要的文件复制到所有用户都可以访问的位置,例如C:'Program Files'YourApplication(或'Program Files (x86),如果它是64位Windows上的32位应用程序)

  • 安装并注册所有的先决条件(如。net框架)。

  • 所有用户创建开始菜单和/或桌面图标,并将它们放置在适当的位置。例如,对于Windows 7,这将是C:'ProgramData'Microsoft'Windows'Start Menu'ProgramsC:'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文件,从哪里把它和在哪里安装它。上面的链接中还提供了一个全面的文档

我不确定它对您的情况是否有帮助,但您可以创建一个登录脚本。此脚本将在用户登录到域后运行。

登录脚本
相关文章: