问题标签 [web-setup-project]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
76 浏览

installation - 在 Web 设置项目中禁用 InstallAllUsers 属性

VS 2010 版

Windows 客户端 VS 安装项目有一个名为InstallAllUsers的属性。为什么我们在 VS Web Setup 项目中没有这个属性?

0 投票
2 回答
79 浏览

c# - 如何在我的 ASP.NET 应用程序中使用我的类库?

我自己的类库“tarasov_lib.dll”有问题。我有一个 ASP.NET 应用程序,我引用了我的 tarasov_lib.dll,如果我在本地测试 webapp,它工作正常,但我做了一个 websetup 并将应用程序安装在我的 IIS 中的另一台服务器上,我得到一个错误的数字404:找不到文件或文件夹。没有我的 ddl 它可以工作:(

但我想使用我的类库:P

在此处输入图像描述

0 投票
1 回答
828 浏览

visual-studio-2010 - VS2010 Web 设置项目不替换“web.config”文件

我正在为我的 MVC3 Web 应用程序使用 VS2010 Web 设置项目。它在安装时工作正常。但是,如果我更新 MVC3 webapplication 二进制文件和 Web 设置项目的版本以进行升级(从旧版本的现有安装),它将不会替换目标目录上的 web.config 文件。所有其他文件和目录都被替换和更新,但只有“web.config”文件不会被 Web 设置替换。

每次更新 Web 应用程序中的任何内容时,我都会更改 Web 设置项目和 MVC3 应用程序的版本。

我还尝试更改“ProductCode”和“UpgradeCode”,但 web.config 文件仍然相同(第一个版本)

我设置了 Web 设置项目的以下属性

  • DetectNewerInstalledVersion - 真
  • 删除以前的版本 - 真
  • 重新启动WWWService - 真

如果我手动删除/删除现有的 web.config 文件,然后安装新版本,它将放置新的更新的 web.config 文件。仅当目标目录中存在现有的 web.config 文件时才会出现此问题。

我还尝试了自定义操作的“OnBeforeInstall”来删除或重命名现有的 web.config 文件,以便新的 we.config 将在安装中复制。但在那我发现所有文件都在自定义操作方法执行之前被复制。

请帮助我解决此问题或建议另一种方法来向我的客户提供 Web 设置项目。

提前致谢!

编辑:我发现当我更改 Web Setup 项目的版本时,它会自动更改产品代码,但升级代码仍然相同。

0 投票
1 回答
857 浏览

asp.net - Web 安装项目不包括 ASP.NET MVC 项目中的一些内容文件

我正在为我的 ASP.NET 应用程序进行 WEB 设置。下面是我的内容文件夹的文件夹结构。

在此处输入图像描述

我添加了一个 WEB SETUP 项目,并包含了“来自 Web 的主要输出”和“来自 Web 的内容文件”。

在此处输入图像描述

但是,当我右键单击“来自 Web 的内容文件”并选择“输出”选项时,我会看到以下内容

在此处输入图像描述

仅添加了我的 .svg 字体,其余 4 个文件(.eot、.ttf、.woff 和 .otf)未添加。即使我运行安装程序并且设置完成后,我仍然在 Content/font-awesome/font 文件夹中看不到这 4 个文件。

我应该怎么做才能将这些添加到安装程序中?

0 投票
2 回答
2663 浏览

iis - 动态设置 INSTALLDIR

我创建了一个用于将网站安装到 iis 的 web setup msi。在 product.wxs 我已将目录设置为 WWWROOT

在安装过程中,用户可以为虚拟目录提供所需的名称。如果用户输入除“MyWebSetup”以外的任何其他名称,例如“MyWebSetup1”,则在 IIS 中会列出一个名为“MyWebSetup1”的虚拟目录和一个名为“MyWebSetup”的目录。现在我想要的是我需要使用用户输入的名称获取 Name='MyWebSetup' 说'MyWebSetup1'。我曾尝试使用自定义操作和许多其他操作来完成此操作,但没有用。请有人可以为我提供一个非常明确的解决方案,因为我是 Wix 的新手。任何帮助表示赞赏。谢谢你。

0 投票
0 回答
269 浏览

application-pool - Can "Web Setup Project" (Visual Studio) restrict choices for "Application Pool"?

Can "Web Setup Project" (Visual Studio) restrict choices for "Application Pool"?

I am moving a project from .NET 2+ to .NET 4+. I use the (VS 2010) project type "Setup and Deployment, Visual Studio Installer". On the "Select Installation Address" Form, "Application Pool" offers a drop-down of all available IIS application pools.

This was OK previously, because my application could run under .NET 2 or .NET 4. However, now that I am compiling for .NET 4, I need end-users to install to a .NET 4 application pool. I had expected the installer to detect this and only offer .NET 4+ pools, but it does not (btw, "ASPNETVersion" property setting does not alter this); it does not even default to one; and choices do not indicate what .NET version they are. My end-users do not understand all of this.

I do not want to get rid of standard dialogs --- the only change I want is in what is offered for application pools. And I do not want to change installer development project type.

Is there anywhere to influence what choices are at runtime (would need to be by Framework version, I cannot know what end-user pools might be named)? I am surprised no one else seems to have asked this as it's a pretty obvious requirement for end-users.

0 投票
1 回答
81 浏览

.net - 如何隐藏应用程序池但在 .NET Web 设置项目中显示其他人?

我已经创建了一个 Web 设置项目。它会弹出一个窗口来选择网站、虚拟目录和应用程序池。那么谁能告诉我如何隐藏应用程序池但向其他人展示?我为什么要这样做是因为我已经创建了一个专用的应用程序池,并将这个 web 服务指向专用的应用程序池。

0 投票
1 回答
1848 浏览

c# - 如何修改 Web 设置项目以创建新网站、应用程序池和虚拟目录?

在过去的几天里,我已经阅读了很多关于如何创建 Web 设置项目并使用自定义操作等进行修改的信息。到目前为止,我已经了解了使用以下链接:

http://weblogs.asp.net/scottgu/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005 http://msdn.microsoft.com/en-us/library/ms525598 .aspx http://www.dreamincode.net/forums/topic/231074-setup-and-deployment-in-visual-studio-2010/ http://www.codeproject.com/Articles/146626/Extending-Visual-工作室设置项目

但是,似乎没有太多关于如何专门修改用户界面以便用户可以创建站点,而不是从“安装地址”操作(在“开始”下)提供的下拉列表中进行选择。除此之外,我还遇到了有关如何创建新应用程序池的代码,但没有遇到如何阻止 UI 为用户提供先从列表中选择 1 的选项。

目前我的安装程序看起来像这样:

UI - 安装地址步骤

如您所见,用户当前有 3 个字段;站点、虚拟目录和应用程序池。站点和应用程序池是其中包含现有选项的列表。在站点下拉列表的情况下,我实际上希望这是一个文本框,允许用户输入他们希望创建的网站的名称。对于应用程序池,我希望它完全消失,因为我的自定义操作将自动创建一个应用程序池并将虚拟目录分配给它(希望如此)。

我已经有了用于创建应用程序池、虚拟目录并将其分配给应用程序池的代码(尚未测试),但我看不到如何根据需要编辑 UI。我是否需要删除“安装地址”步骤并创建自己的自定义步骤?

下面的代码用于创建应用程序池、创建虚拟目录和分配给应用程序池的虚拟目录:

0 投票
1 回答
300 浏览

c# - 使用 Web 设置项目如何在 IIS 中而不是在默认站点中创建新网站?

我已经阅读了很多关于如何使用 Web 设置项目和自定义操作等的文章。但是,它们似乎都没有解释如何在 IIS 中创建不在“默认站点”下的新网站。

我目前有以下编码,改编自其中一篇文章:

在 Install 方法期间调用以下方法:

这似乎创建了一个网站,但在“默认站点”下。我很确定“MetaBasePath”的定义正确,因为这也用于另一种方法来检查网站当前是否存在。此方法遍历“MetaBasePath”的子节点并检查每个子节点的属性。我已经浏览了这段代码,这正在撤回我希望看到的网站,所以我知道它从该路径中获取了正确的信息。

我错过了什么?

更新

如果我使用站点 ID 而不是名称,我似乎能够创建一个不在“默认站点”下的新站点。

0 投票
1 回答
655 浏览

c# - 如何让安装程序暂停/允许验证?

我正在创建一个安装程序,该安装程序当前在 IIS 中创建一个新网站,创建一个应用程序池,然后将此池分配给该网站。我创建了一个自定义操作来执行此操作,并且效果很好。

现在我正在尝试对用户输入(站点名称、目标目录、端口号等)进行一些检查。这就是我不解的地方。我目前正在尝试向用户显示一个消息框,如果端口号不是“有效”即 > 大于 65535、小于 0、null 或空白,或者当前正在被另一个站点使用。这是在 OnBeforeInstall 方法中完成的。

在用户收到消息并单击“确定”时,我希望安装程序停止并允许用户输入另一个端口号。澄清一下,我不希望安装程序回滚或关闭,只需允许用户输入新的端口号,然后尝试单击“下一步”。我还在 OnBeforeInstall 方法中运行其他检查,例如检查网站是否已经存在。在验证用户的基本输入之前,我不想运行这些检查。

到目前为止,这是我的代码:

任何帮助,将不胜感激。