- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 wix 为网站创建了一个安装程序。在安装期间,用户接受虚拟目录的名称。如果用户提供的名称与引用目录名称不同,则虚拟目录和引用目录都会在 IIS 中列出,这是我不希望的。如何通过在安装过程中用虚拟目录的用户给定名称覆盖引用目录的名称来避免这种情况。所有帮助表示赞赏。下面是我使用的主要 wxs 文件的代码。
谢谢。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
<!-- The upgrade GUID ** DO NOT CHANGE!! **-->
<?define ProductUpgradeCode="da7c5352-634c-408c-ad5c-5ff806106378"?>
<!-- The product version. -->
<?define InstallVersion="1.0.0.0"?>
<?define DirName="C:\inetpub\wwwroot"?>
<!-- It's aways a major upgrade here. -->
<Product Id="*"
Name="Basic Web App Install Example"
Language="1033"
Version="$(var.InstallVersion)"
Manufacturer="John Robbins/Wintellect"
UpgradeCode="$(var.ProductUpgradeCode)">
<Package Id="*"
Description="A simple web site installation"
Comments="Just showing how it works."
Manufacturer="John Robbins/Wintellect"
InstallerVersion="300"
Languages="1033"
Compressed="yes"
SummaryCodepage="1252"
InstallPrivileges="elevated"/>
<!-- Major upgrade checks. -->
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit."/>
<UIRef Id="WixUI_InstallWeb" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" />
<Property Id="WIXUI_VIRTUALDIR" Value="VIRTUALDIR" />
<Property Id="VIRTUALDIR"><![CDATA[Staffbank]]></Property>
<!-- Check to see if IIS is installed. It it's not, error out. -->
<Property Id="IIS_MAJOR_VERSION">
<RegistrySearch Id="CheckIISVersion" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="MajorVersion" Type="raw" />
</Property>
<Condition Message="IIS must be installed">
Installed OR IIS_MAJOR_VERSION
</Condition>
<!-- Go find the IIS root directory from the registry. On most machines
that defaults to C:\inetpub\wwwroot. This will be the directory we
install into. -->
<Property Id="IISROOT">
<RegistrySearch Id="IISROOT"
Type="directory"
Root="HKLM"
Key="Software\Microsoft\InetStp"
Name="PathWWWRoot" />
</Property>
<Condition Message="IIS does not appear to be installed correctly, the root directory is not set.">
Installed OR IISROOT
</Condition>
<!-- Describe the media source (you always have to have this) -->
< Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<!-- The root of life for any installer. -->
<Directory Id='TARGETDIR' Name='SourceDir'>
<!-- Install into the ISS root directory we found earlier. -->
<Directory Id="IISROOT" Name='WebDir'>
<!-- Here's this installers install location. -->
<Directory Id='INSTALLDIR' Name='Staffbank'></Directory>
</Directory>
</Directory>
<DirectoryRef Id='INSTALLDIR' >
<!--Creating the webpool for our site-->
<Component Id="MyWebAppPoolCmp" Guid="{98da0c81-999d-4de8-bb8e-4e9a61ae31e5}" KeyPath="yes" Permanent="yes">
<iis:WebAppPool Id="MyWebAppPool" Name="ASP.NET v4.0"></iis:WebAppPool>
</Component>
<!-- The component to define the Virtual Directory.-->
<Component Id="WebVirtualDirComponent"
Guid="D814F88F-6E0C-4365-A411-2F9807522C3D">
<!-- The virtual directory we are installing. -->
<!-- The Alias attribute is the name thata will be put into IIS.-->
<!-- The Directory attribute is the "Physical Path" property in
IIS and needs to tie to an ID specified in the setup. -->
<!-- The WebSite attribute ties to a <WebSite> element in the
setup file. As this is an example of installing into the
"Default Web Site" that element is not under a component.-->
<iis:WebVirtualDir Id="VDir"
Alias="[VIRTUALDIR]"
Directory="INSTALLDIR"
WebSite="DefaultWebSite">
<!-- Turn the Virtual Directory into a web application. -->
<iis:WebApplication Id="TestWebApplication"
Name="[VIRTUALDIR]" WebAppPool ="MyWebAppPool" />
</iis:WebVirtualDir>
<!-- This is pretty important. If the CreateFolder isn't there the
WebVirtualDir won't get created as there's no files in this
component.
http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg03483.html -->
<CreateFolder/>
</Component>
</DirectoryRef>
<!-- Because I want to show an example of installing a web site under an
existing web site, "Default Web Site", you have to keep this element
outside of a component. See the WiX documentation:
http://wix.sourceforge.net/manual-wix3/iis_xsd_website.htm.
Basically, outside a component means it's a locator/searching. Inside
a component means it's a creator. -->
<iis:WebSite Id='DefaultWebSite'
Description='Default Web Site'
Directory='INSTALLDIR'>
<!-- This element has to be here or WiX does not compile. It's ignored
in this case. -->
<iis:WebAddress Id="AllUnassigned" Port="80" />
</iis:WebSite>
<Feature Id='TestProductFeature' Title='Wix File Product Feature' Level='1'>
<ComponentRef Id="MyWebAppPoolCmp"/>
<ComponentRef Id='WebVirtualDirComponent' />
<ComponentGroupRef Id='BASICWEBAPPFILES'/>
</Feature>
</Product>
</Wix>
最佳答案
我可以通过使用“.”传递 installdir 的名称来解决此问题然后使用 setdirectory 动态设置安装目录的名称。编译时,如果名称作为“.”传递那么编译器会同时忽略它,然后如果我们稍后传递 installdir 名称,那么该名称将被设置。
安装目录名称应按如下方式传递
<Directory Id='INSTALLDIR'
Name='.'>
setdirectory 的传递方式如下。 [VIRTUALDIR]是安装时用户接受的虚拟目录的名称。
<SetDirectory Id="INSTALLDIR" Sequence="execute" Value="[IISROOT][VIRTUALDIR]\">NOT Installed</SetDirectory>`
希望对大家有帮助
关于iis - 使用 WiX IIS 安装程序中的虚拟目录的名称覆盖引用目录的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20114634/
我正在为我的程序编写安装脚本,它应该在 Linux/Unix 操作系统上运行。以下文件的默认目录是什么: 可执行文件(程序)。程序应通过从命令行键入其名称来执行。 共享库。 第三方共享库(程序未开源,
我有一堆用户、组和应用程序注册,我的 MVC 应用程序使用 AAD 数据进行身份验证和授权。是否可以将 Azure Active Directory 从一个租户(目录)迁移到另一个租户(目录)?如果可
查看 cljsbuild 文档 https://github.com/emezeske/lein-cljsbuild :cljsbuild { :builds [{ ; The
忽略已经版本控制的文件 如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作。
我想使用\tableofcontents 命令,但没有目录从新页面开始或在末尾创建新页面,并且所有内容都是单倍行距。我怎样才能做到这一点?我假设使用 tocloft,但有哪些选择? 谢谢 最佳答案 试
我有一些 javascript 菜单代码,可以在单独的目录中正常工作。但是,当我尝试从同一目录中调用相同的 .js 文件时,它不会看到这些文件。 以下内容来自另一个目录: script type="t
我有这样的路径: /my/path/to/important_folder 在同一级别上,我还有其他文件和文件夹想要在达到与 important_folder 相同的级别时列出。 我的文件夹可能更深,
1、获取文件路径实现 1.1 获取当前文件路径 ? 1
我正在使用最新版本的 NTEmacs。 我写了一个名为“.dir-locals.el”的文件,如下所示。 ((nil . ((tab-width . 8) (fill-column .
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
在我的 .vimrc 中有这些行 :set foldmethod=marker :set foldmarker=SECTION:,ENDSECTION: 用于自定义代码折叠。在我的文件中,相关语言的注
在 fish 中: for x in * echo $x end *这里包括所有目录和文件,如何只列出文件(或目录)? 最佳答案 fish 没有很多花哨的通配语法。但是,目录可以像这样迭代: f
这是我的目录结构: ├── src │ ├── helpers │ │ ├── __init__.py │ │ ├── foo.py │ │ └── bar.py │
我想递归重命名文件夹/目录名称并找到 this solution所以。但是这个命令没有效果 find . -type f -exec rename 's/old/new/' '{}' \; 这是一个正
我想在相册中创建一个文件夹,并希望将图像保存在创建的相册中。 这可能吗?有什么办法可以做到这一点吗? 我已经搜索过,大多数人都说这是不可能的。 感谢您的帮助。 最佳答案 您也许可以使用AssetsLi
如何在python中使用用户定义的名称创建临时文件/目录。我知道 tempfile .但是我看不到任何以文件名作为参数的函数。 注意:我需要这个来对包含临时文件的临时目录上的 glob(文件名模式匹配
我在项目中使用JaCoCo Gradle插件。 作为问题的一个示例,我的大部分代码都在com.me.mysoftware包下。 我正在使用代码生成器来生成build/generated/java/..
我正在尝试使用 Gradle 开始运行 jar 文件 我的任务如下所示: task startServer(type: Exec) { workingDir file("${buildDir}/a
如何在 Ant 中定义一个目录集,其中包括两个目录:项目的基目录和子目录“test”? 看起来您无法使用“/”、“.”或“”专门包含目录集的根目录。例如,这包括“./test”,但不包括“.”:
我正在使用 CTAGs 包,它使用 Sublime Text 2 生成两个文件 .tags 和 .tags_sorted_by_file。 那么当我进行项目搜索(CMD + SHIFT + F)时,如
我是一名优秀的程序员,十分优秀!