使用Visual Studio创建更复杂的安装项目

时间:2021-07-14 22:36:17

I need to learn more about creating setup projects from within Visual Studio to support the following scenario: When the user starts the setup, he needs to choose between the parts that he wants to set up. The setup should offer to install three web services, one web site and maybe even run some SQL scripts to install/update the database.

我需要了解有关在Visual Studio中创建安装项目的更多信息,以支持以下场景:当用户启动设置时,他需要在他想要设置的部分之间进行选择。安装程序应该提供安装三个Web服务,一个Web站点,甚至可能运行一些SQL脚本来安装/更新数据库。

During installation, the user will need to tell where he wants the sites/services to be installed within IIS. He also needs to specify the database connection which is used within the services/sites and to update the database. And there will probably be a few other wishes too. It should also support an uninstall of the site and services, but the database can continue to exist.

在安装过程中,用户需要告诉他希望在IIS中安装站点/服务的位置。他还需要指定服务/站点中使用的数据库连接并更新数据库。而且可能还会有其他一些愿望。它还应该支持卸载站点和服务,但数据库可以继续存在。

Is this even possible with the Setup projects that Visual Studio creates? If not, no worries. I don't need an alternative solution! I just need to know if this is possible before trying myself and discovering it's not possible after weeks of trying... This is for an internal project and I want to make life easier for the administrators who need to install/upgrade these sites/ services every time when there's an update. (About once every two weeks.)

甚至可以使用Visual Studio创建的安装项目吗?如果没有,不用担心。我不需要替代解决方案!在尝试自己之前我只需要知道这是否可行并且在经过数周的尝试后发现它是不可能的...这是针对内部项目的,我希望让需要安装/升级这些站点/服务的管理员更轻松每当有更新时。 (大约每两周一次。)

1 个解决方案

#1


Stay well away from vdproj stuff and move to WiX ASAP (As you'll see me being advised in questions I asked here). For a start, flexibility around where to put the IIS apps is seriously limited (you get one virtual dir and the user can only choose the name, you cant have multiple instances).

远离vdproj的东西并尽快转移到WiX(因为你会看到我在这里问的问题时被告知)。首先,围绕IIS应用程序放置位置的灵活性受到严重限制(您获得一个虚拟目录,用户只能选择名称,您不能拥有多个实例)。

The other side of this is of course that the vdproj stuff is an 80% solution. Ultimately you can add as many custom steps as you like, and they can pop up dialogs and whatever they like. There's no reason why a custom step cant do all the things you want.

另一方面当然是vdproj的东西是80%的解决方案。最终,您可以根据需要添加任意数量的自定义步骤,并且可以弹出对话框以及他们喜欢的任何内容。没有理由为什么自定义步骤不能完成你想要的所有事情。

I just know that I once thought like you, and looking back wish someone had grabbed me by the scruff of the neck and said, just use the proper stuff - even if it seems a little harder initially. There is a conversion tool that will suck in your vdproj and spit you out a WiX.

我只知道我曾经想过你,回头希望有人抓住我颈部的颈背并说,只要使用正确的东西 - 即使最初看起来有点困难。有一个转换工具会吸入你的vdproj并吐出一个WiX。

By all means, try wizarding up what you need and seeing if it works - most of the stuff is pretty searchable - just know when to call it quits.

通过各种方式,尝试瞄准你需要的东西,看看它是否有效 - 大多数东西都是可以搜索的 - 只知道什么时候叫它退出。

#1


Stay well away from vdproj stuff and move to WiX ASAP (As you'll see me being advised in questions I asked here). For a start, flexibility around where to put the IIS apps is seriously limited (you get one virtual dir and the user can only choose the name, you cant have multiple instances).

远离vdproj的东西并尽快转移到WiX(因为你会看到我在这里问的问题时被告知)。首先,围绕IIS应用程序放置位置的灵活性受到严重限制(您获得一个虚拟目录,用户只能选择名称,您不能拥有多个实例)。

The other side of this is of course that the vdproj stuff is an 80% solution. Ultimately you can add as many custom steps as you like, and they can pop up dialogs and whatever they like. There's no reason why a custom step cant do all the things you want.

另一方面当然是vdproj的东西是80%的解决方案。最终,您可以根据需要添加任意数量的自定义步骤,并且可以弹出对话框以及他们喜欢的任何内容。没有理由为什么自定义步骤不能完成你想要的所有事情。

I just know that I once thought like you, and looking back wish someone had grabbed me by the scruff of the neck and said, just use the proper stuff - even if it seems a little harder initially. There is a conversion tool that will suck in your vdproj and spit you out a WiX.

我只知道我曾经想过你,回头希望有人抓住我颈部的颈背并说,只要使用正确的东西 - 即使最初看起来有点困难。有一个转换工具会吸入你的vdproj并吐出一个WiX。

By all means, try wizarding up what you need and seeing if it works - most of the stuff is pretty searchable - just know when to call it quits.

通过各种方式,尝试瞄准你需要的东西,看看它是否有效 - 大多数东西都是可以搜索的 - 只知道什么时候叫它退出。