- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
UI 中的属性更改从卸载日志中消失。
如果我使用默认属性值安装我的应用程序,然后运行卸载,该属性会出现在卸载日志中。
如果我在卸载时从 UI 更改属性值,它不会出现在日志中。
这就是apppool和webapp卸载后留在IIS中的原因,默认值不是这样。
<Property Id="WEB_APP_NAME" Value="WebApp" Secure="yes" />
这是属性的样子。
这是我从 UI 控件添加一个值的地方
<Control Id="PoolNameEdit"
Type="Edit"
X="100"
Y="45"
Width="160"
Height="17"
Property="WEB_APP_NAME"
Text="{80}"
Indirect="no" />
这就是我使用它的方式
<!-- Define the directory structure -->
<Fragment>
<!--Directory elemens hierarchy always starts with Id="TARGETDIR" Name="SourceDir"-->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WEB_APP_FOLDER_LOC" Name="WebInstaller">
<Directory Id="WEBFOLDER" Name ="[WEB_APP_NAME]" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<!--Concatenate user input for folderpath-->
<SetDirectory Id="WEBFOLDER"
Value="[WEB_APP_FOLDER_LOC][WEB_APP_NAME]"
Sequence="both" />
<!--Create new folder-->
<DirectoryRef Id="WEBFOLDER">
<Component Id="cmp_WebDir"
Guid="{E0CE5051-1419-4997-949F-020BC814ECDA}"
KeyPath="yes">
<CreateFolder />
</Component>
</DirectoryRef>
<!--Components-->
<ComponentGroup Id="ProductComponents" Directory="WEBFOLDER">
<!--Client config-->
<Component Id="cmpWebConfig"
Guid="{1C84DF1F-2EA4-46E6-8125-C6FD410AFED9}"
KeyPath="yes">
<Condition>INCLUDECONFIGFILE="1"</Condition>
<File Source="Configuration\Web.config" />
</Component>
<!--Application pool-->
<Component Id="cmpAppPool"
Guid="{00D6ABB1-734F-4788-ADB8-12A30056C513}"
KeyPath="yes">
<iis:WebAppPool Id="MyAppPool"
Name="[WEB_APP_NAME]"
ManagedRuntimeVersion="v4.0"
ManagedPipelineMode="integrated"
Identity="applicationPoolIdentity" />
</Component>
<!--Website-->
<Component Id="cmpMyWebsite"
Guid="{ECD42015-C067-44F3-94D9-5E713BCB586D}"
KeyPath="yes">
<iis:WebSite Id="website_MyWebsite"
Description="[WEB_APP_NAME]"
Directory="WEBFOLDER"
ConfigureIfExists="no">
<iis:WebApplication Id="webapplication_MyWebsite"
Name="[WEB_APP_NAME]"
WebAppPool="MyAppPool" />
<iis:WebAddress Id="webaddress_MyWebsite"
Port="[WEB_APP_PORT]" />
</iis:WebSite>
</Component>
我希望在 UI 中更改 WEB_APP_NAME 后,卸载程序能够找到它,从而从 IIS 中删除 appool 和 webapp。
Property(S): VirtualMemory = 3353
Property(S): UpgradeCode = {A4F9CA9E-4135-4D6F-AF58-FADA49E265DA}
Property(S): ConfigureIIs7Exec = **********
Property(S): StartIIS7ConfigTransaction = **********
Property(S): RollbackIIS7ConfigTransaction = **********
Property(S): CommitIIS7ConfigTransaction = **********
Property(S): WriteIIS7ConfigChanges = **********
Property(S): NETFRAMEWORK45 = #461808
Property(S): WEBFOLDER= C:\inetpub\WebApp\
Property(S): WEB_APP_FOLDER_LOC = C:\inetpub\
Property(S): WEB_APP_NAME = WebApp
Property(S): WEB_APP_PORT = 8080
Property(S): WEB_APP_USERNAME = ******
Property(S): WEB_APP_DOMAIN_NAME = ******
Property(S): WEB_APP_SQLSERVER_NAME = ******
Property(S): INCLUDECONFIGFILE = 1
这就是默认卸载日志的样子,如果我将 WEB_APP_NAME 更改为其他内容,那么在上面可以看到的卸载日志中找不到 WEB_APP_NAME?
感谢任何可以解决此问题的想法!
最佳答案
这里要理解的关键是 Windows Installer 不保存属性值。用户输入的值(通过 UI 或命令行参数)在修复、升级或卸载期间将不可用。您可能会想,它在卸载期间可用,这是一个简单的请求,但这就是 Windows 安装程序的工作方式。绕过此问题的最简单解决方案是读取属性,然后将其写入注册表。在修复/卸载/升级期间执行注册表搜索并使用基于注册表内容的值。
至于为什么在卸载时保留默认值,那是因为初始/默认值被添加到MSI Property table .并且在卸载期间也会从属性表中使用相同的值。
关于properties - 在卸载日志中找不到 WiX 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710379/
1.使用start-all.sh启动hadoop服务时,提示输入 您确定要继续连接吗(是/否) 当我通过脚本启动它时如何抑制这个提示,现在我正在使用期望模块,但我认为可能有一种更简单的方法来做到这一点
我安装了在 Ubuntu 12.04 下运行的 Geonode R 2.01。我尝试使用以下命令卸载它: sudo apt-get remove --purge geonode sudo apt-ge
假设我有 AppDomainA,它启动 AppDomainB。 AppDomainB 然后启动 AppDomainC。 如果在 AppDomainA 中卸载 AppDomainB,AppDomainC
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我尝试使用以下命令从我的 Ubuntu 中卸载 NGinX: sudo apt-get remove nginx-core nginx-full nginx-light nginx-extras n
我已经从 /Applications/ 中删除了 MacVim目录,但当我输入 vim 时在终端中显示错误:no such file or directory: /Applications/MacVi
我的页面中有一个 iframe,该 iframe 嵌入了一个不在我的服务器上的网站。 我正在寻找一种在 iframe 重定向之前触发函数的方法。例如,当用户单击 iframe 内的链接并且 ifram
看来我被 Visual Studio 的 Atomineer Pro 文档加载项挟持了!试用期结束了,我没有用了!但现在每次我在 Visual Studio 中做某事时,我都会收到一条错误消息并发送到
我有一个使用 WiX 完成的安装程序。安装完成后,它会启动一个应用程序,在 Explorer 进程中注入(inject)一些代码。 目前,当我卸载时,重新启动管理器会启动并关闭我的应用程序和资源管理器
在我的网络应用中,我需要在用户离开页面之前发送他们更改的最新数据。 我在页面卸载时调用这样的函数: window.onbeforeunload=sendData; 这就是函数内部调用的内容 funct
我使用 jQuery 和 history.js 来管理部分页面之间的动态转换;这样我就可以避免重新加载整个文档。其中一些部分页面调用自己独特的 javascript 文件。虽然页面之间的转换运行良好,
我需要处理应用程序包的变化,我这样写我的 mainfest mainfest.xml 我的接收器类
我目前在使用大量内存方面遇到了麻烦,我正在尽一切努力削减和优化涉及内存的代码...目前我的游戏的大部分 Nib 文件都加载了所有它在 ViewDidLoad 中的变量,现在我的问题是,在我的 view
如何从系统中删除 composer Php Dependecny Manager? 它说卸载无法继续,因为以下应用程序正在使用需要删除的文件。 Windows 资源管理器 最佳答案 我遇到了同样的问题
所以我使用 stow 在服务器上安装了 Python 2.7.1 源代码 .我过去很粗心,在处理源代码安装时我试图保持井井有条。所以,输入 stow。现在我使用 wget 安装了 easy_insta
有谁知道如何卸载 MacRuby?我在使用 RubyCocoa 然后决定试用 MacRuby,在安装 MacRuby 之后,RubyCocoa 已经停止工作。所以我想删除 MacRuby,但我找不到任
我无法从 64 位 EC2 卸载 mongo。在/usr/bin 我有 mongo 和 mongod 等等。当我从任何地方键入 mongo 时,它会在 1.8 版打开 shell。我现在下载了 2.0
本文实例讲述了Android编程实现监控apk安装,卸载,替换的方法。分享给大家供大家参考,具体如下: ?
1说明 mysql++是mysql开发团队为OO编程提供的C++开发库,是对mysql提供的底层数据存取API进行的C++封装,用其手册上的说法是:复杂而又庞大,当然功能也更强大。 Mysql+
自从我开始建立我的网站那天起,我安装了很多包,有时是为了测试一堆代码,有时是为了项目本身(后来我发现这不是需要的包)。但是现在,当我运行 pip freeze 时,我有一个包列表,我很难卸载不使用的包
我是一名优秀的程序员,十分优秀!