代码之家  ›  专栏  ›  技术社区  ›  jonathanpeppers

C.NET-部署“非常”自定义应用程序

  •  0
  • jonathanpeppers  · 技术社区  · 15 年前

    我们正在努力部署 非常 自定义应用程序。

    应用程序是将在PC上运行的主程序(也是唯一的程序),但它取决于必须通过单独的安装程序安装的多个第三方安装程序。其中一些是标准的MSI、安装屏蔽、其他过时的设置等。

    除此之外,我们还必须部署SQL Server Express 2005,如果找不到,请安装IIS并设置网站。

    我们部署此软件的最终用户将是具有使用xp sp3的新“开箱即用”PC技术经验的人员。

    开发这个有什么好的选择?WIX?Visual Studio安装程序项目不能剪切它。还有一个问题是,当一个MSI已经在运行时,以某种方式运行其他的MSI。

    作为一个需要预安装.NET的标准C应用程序,它的功能会更好吗?然后它只会提示输入一些选项,然后运行几个安装程序。

    有什么想法吗?我们更愿意坚持使用c.net。

    4 回复  |  直到 15 年前
        1
  •  3
  •   Seth Petry-Johnson    15 年前

    xp sp3是否已经安装了.NET运行时?

    如果您的最终用户是有技术经验的人,那么为了一些更原始的东西(如Ruby脚本、PowerShell脚本或.NET控制台或Winforms应用程序)的灵活性,牺牲一些MSI包的“向导”似乎是合理的。

        2
  •  1
  •   mbmcavoy    15 年前

    这归结为效益与成本。

    如果只在单个或少量目标PC上运行,并且您有能力支持安装(甚至远程安装),我建议对任何第三方依赖项进行手动安装。

    为每个包的安装程序提供书面指令和提供比编写/测试/调试(可能仍然支持)一个复杂的、完全自动化的安装程序要容易得多,该安装程序只能使用一次或三次。

    如果有许多安装,自动化将带来更多的好处。

        3
  •  1
  •   Zerodestiny    15 年前

    有一个名为 Inno Setup 那可能适合你的需要。它允许自定义脚本,这样您就可以检测是否安装了所有依赖项。

    如果其中没有安装一些脚本,则安装程序可以在安装应用程序之前下载并安装第三方依赖项。有关这方面的一些帮助,请参阅代码项目文章。( http://www.codeproject.com/KB/install/dotnetfx_innosetup_instal.aspx )

    这个路径的唯一问题是脚本语言是Pascal。

    只是一个问题,你工作的公司是否提供这些盒子,因为如果你是,那么你就不能预先安装软件吗?至少那样会少出一点差错。

        4
  •  1
  •   Community CDub    7 年前

    Wix是一种相当灵活的创建安装程序的方法(尽管由于文档仍然缺乏,学习曲线可能有点)。这可能是安装实际 你的 产品的工件。让它检查所需的组件是否已安装,但我不会尝试从中启动安装程序。相反,像 Seth mentioned ,编写一个PowerShell脚本/vbscript(或控制台应用程序),该脚本将执行组件检查,并按需要的顺序为用户启动旧的安装程序。当然,在继续之前,您需要一种方法来捕获安装程序何时完成(不知道vbscript是否真的具有此功能,因此PowerShell/控制台应用程序可能是一个明智的选择)。最后一个被调用的安装程序将是您的产品。这样,如果需要重新启动,安装程序可以以完全相同的方式运行,只需继续检查所需的组件,并根据需要启动安装程序。