1

我正在部署一个设置 SQL Server 2008 实例和 IIS 虚拟目录的包。用户可能希望在同一系统上安装此程序的多个实例是有道理的。

我知道我可以在卸载时使用 GetPreviousData() 来获取最后安装的实例,然后卸载那个实例。但是,其余的安装似乎会丢失。

例如,假设用户指定实例名称“Site1、Site2、Site3”然后卸载。Sites1 和 Site2 可能会被孤立,并且 Site3 会被正确卸载。

有没有办法增强它?例如,我可以在卸载期间询问用户要卸载哪个站点,还是我必须将其设为两阶段系统?

4

1 回答 1

1

基本上有两种方法来安装你的包:

  • 具有不同的名称和AppId每个安装。
  • 所有安装共享相同的名称和AppId.

在第一种情况下,用户在软件小程序中获得每个实例的图标,因此它们都可以单独卸载。在这种情况下,所有通用组件都必须保留到最后一个实例被删除,使用sharedfile标志将有助于此。

在第二种情况下,实例管理不同于安装或卸载整个包。因此,我可能会简单地创建一个工具来管理包的实例,并在安装和卸载期间执行它。使用 Pascal 脚本可以执行外部应用程序,并根据执行程序的结果代码跳过进一步的安装或卸载步骤。

实际上,除了第一次安装和最后一次卸载之外,所有工作都将完全由该工具完成。

管理工具甚至可以在程序组中拥有自己的图标,这样就可以在不使用软件控制小程序的情况下添加、修改或删除实例。

于 2009-07-21T15:42:36.013 回答