Web安装项目中的虚拟目录

我有一个 Web 安装项目,默认情况下在文本框安装程序屏幕中显示虚拟目录。我希望虚拟目录名称不能被用户编辑,并且总是默认为我在 msi 中设置的那个。这怎么能实现?

我有一个 Web 安装项目,默认情况下在文本框安装程序屏幕中显示虚拟目录。我希望虚拟目录名称不能被用户编辑,并且总是默认为我在 msi 中设置的那个。这怎么能实现?

34

如果您不希望用户更改虚拟目录,则可以简单地从用户界面中删除“安装地址”对话框。

右键单击安装程序项目,然后选择“用户界面”。

展开“开始”节点。

右键单击“安装地址”。

选择“删除”

如果您希望为通常由安装地址对话框选择的网站、虚拟目录、应用程序池提供不同的参数,则可以按照其他人的描述使用自定义操作进行覆盖。

但是,根据我的经验,自定义操作无助于设置用户可以更改的默认值,因为它们执行之后请求用户输入的对话框。

设置用户可以在对话框中覆盖的一些默认值的最简单方法是执行以下操作。

删除欢迎页面。

添加文本框对话框(例如“文本框 (A)”)

将所有文本框的可见属性更改为 false,以便不显示文本框。

更改 BannerBitmap 和 BodyText 属性,使其看起来有点像欢迎页。

在“编辑 * * * & lt;n & gt;属性”中设置要覆盖的必要属性,并在“编辑& lt;n & gt;* * * 值”中设置默认值。

最有用的属性(IMHO)是。

TARGETDIR-要将文件复制到的站点所在的位置。
TARGETVDIR-要在指定站点中创建的虚拟目录。
TARGETAPPPOOL-要使用的应用程序池(注意:这必须存在,但不会创建)
TARGETSITE-要在其中创建虚拟目录的网站 / b / s3the site "

可以找到安装程序的完整属性列表here

如果您真的想更好地控制 IIS 设置,我建议您将项目更改为标准的 Windows Installer 项目并创建自定义安装操作,以便您可以以编程方式创建 AppPools。开始了解以编程方式创建这些东西的好地方是here

这样做的最大原因是自定义操作在提示后运行,但应用程序池和网站必须在之前创建安装程序可以提示。

3

我有一个自定义操作来设置 apppool(顺便说一句,当安装程序是用 VS2005 构建的)在我的 vs2008 Web 设置项目。

DirectoryEntry IISVdir = new DirectoryEntry(String.Format("IIS://{0}{1}/{2}", strServer, strRootSubPath, Vdir));
IISVdir.Properties["AppPoolId"].Value = appPool;
IISVdir.CommitChanges();

安装程序运行时没有对话框(删除了安装地址 UI 节点),但在虚拟目录上设置的 AppPool 最终成为 DefaultAppPool。

我的助手类中的其他自定义操作确实运行和工作。

所以一定还需要一些其他的魔法咒语。

谢谢

2

为了使用 Context.Parameters 获取虚拟目录

将自定义操作添加到安装节点(如果您想知道如何添加自定义操作,请使用此url

右键单击自定义操作并选择属性窗口。

对于 CustomActionsData 属性 set / targetvdir = "[TARGETVDIR]"。

现在在您的安装程序类中,您可以通过 Context.Parameters [“targetvdir”] 获取虚拟 dir 名称。希望这对您有所帮助:)

1

Org 不允许开源或 GPL 开源。

解决方案:* 编辑自定义操作(右键单击 & gt;查看 & gt;自定义操作)以修复虚拟目录和路径更改 customactiondata:

/targetdir="[TARGETDIR]\" /connectionstring="[CONNECTIONSTRING]" /targetvdir="[TARGETVDIR]" /targetsite="[TARGETSITE]" 

收件人:

  /targetdir="[TARGETDIR]\" /connectionstring="[CONNECTIONSTRING]" /targetvdir="FIXED_NAME" /targetsite="[TARGETSITE]" 

您可能只是从用户界面中删除安装地址,并设置一个将信息传递给自定义安装的组件

使用 msbuildtasks 在 msbuild 上编写包装器

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(149)
在DRF中添加链接到序列化程序中的操作的url字段
上一篇
MavenSurefire插件未从org.junit.jupiter.api包记录日志
下一篇

相关推荐

  • 个人简历web:如何使用web3的个人扩展签署个人消息

    关于个人简历web的问题,在ios web3中经常遇到,我正在用 matter inc 制作一个带有 web3swift 的 Dapp。我遇到的一种方法是 web3.Personal 扩展之一:…

    2022-11-27 10:31:08
    0 94 98
  • Web项目学习:学习 R的好书、网络资源和项目有哪些

    关于Web项目学习的问题,在best r books中经常遇到,我有一本名为《计算机科学家统计学》的书以及我的工程统计学教科书,因此我正在考虑使用其中的各种问题和示例来学习 R,这可能是一个好的开始。但是有人可以推荐有关 R 的信息的书籍和网站,尤其是如果它们是为具有统计学知识的人设计的吗?作为一名学习软件工程的大学生,是否有任何大中型项目或现实世界的情况可以让我使用 R 来感受一下?…

    2022-12-14 16:05:55
    0 53 40
  • 搭建nas服务器:家庭服务器、 NAS、隐私和 Web托管

    关于搭建nas服务器的问题,在personal cloud home server中经常遇到,新的这里,一切与家庭服务器有关,但我有一个问题,我希望我能得到一些帮助。…

    2022-11-27 03:21:43
    0 49 63
  • 在客户端拦截来自和去往Web服务的SOAP消息

    我有一个与 web 服务通信的客户端。我与之通信的类是通过 wsdl.exe 生成的 C# 类。我现在想记录所有传入和传出消息。…

    2022-11-30 05:32:59
    0 52 76
  • websql数据库:如何利用WebSQL数据库提升网站性能

    Web SQL Database 是一种基于浏览器的关系数据库,用于在客户端存储和检索数据。它是一种基于SQL的API,可以使开发人员使用标准的SQL语句来创建、检索、更新和删除数据库中的数据。…

    2023-06-30 12:19:41
    0 77 77
  • webstorm怎么debug:如何使用WebStorm进行Debugging

    示例示例在中打开要调试的项目,点击“Run”菜单,选择“Edit ”,然后点击“+”号,选择“ Debug”,在新窗口中输入项目名称,然后点击“OK”。然后,在代码中添加断点,可以使用快捷键Ctrl + F8来添加断点,也可以在行号上单击鼠标右键,然后选择“Toggle ”来添加断点。…

    2024-01-27 02:21:46
    0 50 28
  • webstorm vue环境搭建:## 使用Webstorm搭建Vue开发环境

    Vue环境搭建:安装Node.js:我们需要安装Node.js,因为Vue是基于Node.js的,所以必须要安装Node.js。…

    2023-06-22 10:04:28
    0 40 18
  • webp转成gif(含代码示例)

    WebP转换成GIF的方法有很多种,下面介绍一种使用Python Image LibraryPIL)库的方法。安装PIL库:…

    2023-07-21 14:02:38
    0 44 96

发表评论

登录 后才能评论

评论列表(12条)