我有一些XSLT在Sitecore 6 CMS中呈现,但我不认为这个问题是特定于产品的.
如果我有一个自动关闭的img或br标签,就像这样:
<br />
<img src="your.example.com" />
Run Code Online (Sandbox Code Playgroud)
结果输出将是:
<br>
<img src="your.example.com">
Run Code Online (Sandbox Code Playgroud)
XSLT文件的输出方法是HTML.它应该是XML吗?我猜测自关闭标签不是有效的HTML,但是将它设置为XML会导致输出问题吗?
我正在尝试使用WIX创建一个安装项目,这将允许我安装单个产品的多个功能.如何更新其中一个已安装的功能(独立于其他已安装的功能),而无需重新安装功能树中的其他功能?
例如,我希望能够拥有一个名为HelloWolrd的项目(返回HelloWolrd),其中(惊喜)打印出"Hello world!" 屏幕上.假设我有三个这样的hello world应用程序,Hello World 1,Hello World 2和Hello World 3.每个应用程序都会在屏幕上显示Hello World 1,2或3.我想要的是创建一个MSI,它默认安装所有这三个"功能",但也允许稍后单独升级每个功能.
这是我的解决方案布局:
Solution Explorer http://img12.imageshack.us/img12/5671/solutionexplorerm.jpg
我的WIX Product.wxs文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="ca484210-c719-4b2e-b960-45212d407c11" Name="HelloWorldInstaller" Language="1033" Version="1.0.0.0" Manufacturer="HelloWorldInstaller" UpgradeCode="68eeb8cb-9ef3-443c-870c-9b406129f7ff">
<Package InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<!-- Create Directory Structure -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="Hello World" />
</Directory>
<Directory Id="DesktopFolder" Name="Desktop"/>
</Directory>
<DirectoryRef Id="INSTALLLOCATION">
<Component Id="HelloWorld1" Guid="6D1D9D33-DA17-4db3-8132-C39F32200C3A">
<RegistryKey Root="HKCU" Key="Software\HelloWorldInstaller\HelloWorld1\Install" Action="createAndRemoveOnUninstall">
<RegistryValue Name="DTSC" Value="1" Type="integer" KeyPath="yes" />
</RegistryKey>
<File Id="HelloWorld1.exe" …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的Wix安装创建一个自定义操作,它只是不起作用,我不确定为什么.
这是适当的Wix文件中的位:
<Binary Id="INSTALLERHELPER" SourceFile=".\Lib\InstallerHelper.dll" />
<CustomAction Id="HelperAction" BinaryKey="INSTALLERHELPER" DllEntry="CustomAction1" Execute="immediate" />
Run Code Online (Sandbox Code Playgroud)
这是我的自定义操作的完整类文件:
using Microsoft.Deployment.WindowsInstaller;
namespace InstallerHelper
{
public class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Log("Begin CustomAction1");
return ActionResult.Success;
}
}
}
Run Code Online (Sandbox Code Playgroud)
该操作由UI中的按钮按下(现在):
<Control Id="Next" Type="PushButton" X="248" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" >
<Publish Event="DoAction" Value="HelperAction">1</Publish>
</Control>
Run Code Online (Sandbox Code Playgroud)
当我运行MSI时,我在日志中收到此错误:
MSI (c) (08:5C) [10:08:36:978]: Connected to service for CA interface.
MSI (c) (08:4C) [10:08:37:030]: Note: 1: 1723 2: SQLHelperAction 3: CustomAction1 4: C:\Users\NATHAN~1.TYL\AppData\Local\Temp\MSI684F.tmp
Error 1723. There is a …Run Code Online (Sandbox Code Playgroud) 我正在使用Wix版本3.0.5419.0.我有两个.wxs文件,一个是片段,另一个是使用片段创建.msi文件.
这是使用片段的文件(DaisyFarmer.wxs):
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
<Product Name='Daisy Web Site 1.0'
Id='BB7FBBE4-0A25-4cc7-A39C-AC916B665220'
UpgradeCode='8A5311DE-A125-418f-B0E1-5A30B9C667BD'
Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='the man'>
<Package Id='5F341544-4F95-4e01-A2F8-EF74448C0D6D' Keywords='Installer'
Description="desc" Manufacturer='the man' InstallerVersion='100'
Languages='1033' Compressed='yes' SummaryCodepage='1252' />
<Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
<Property Id='DiskPrompt' Value="the man" />
<PropertyRef Id="NETFRAMEWORK35"/>
<Condition Message='This setup requires the .NET Framework 3.5.'>
<![CDATA[Installed OR (NETFRAMEWORK35)]]>
</Condition>
<Feature Id='DaisyFarmer' Title='DaisyFarmer' Level='1'>
<ComponentRef Id='SchedulerComponent' />
</Feature>
</Product>
</Wix>
Run Code Online (Sandbox Code Playgroud)
我引用的片段是(Scheduler.wxs):
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="TARGETDIR">
<Directory Id="dir2787390E4B7313EB8005DE08108EFEA4" Name="scheduler">
<Component …Run Code Online (Sandbox Code Playgroud) 在WiX中,您可以轻松注册文件类型:
<ProgId Id="MyApp.File" Description="MyApp File" Icon="MyAppEXE" IconIndex="0">
<Extension Id="ext" ContentType="application/x-myapp-file">
<Verb Id="open" Command="&Open" TargetFile="MyAppEXE" Argument=""%1""/>
</Extension>
</ProgId>
Run Code Online (Sandbox Code Playgroud)
如果我想怎么注册的URL协议,按规定在这里?显然,它没有扩展,所以我在哪里放Verb标签?或者我应该使用另一种方法?
谢谢.
如果不是自我注册.然后我们如何在使用WIX安装时执行COM dll注册?
根据教程,我使用了ComPlusApplication示例(非.net dll).但它不起作用.它无法注册.
我可以成功地从命令行使用regsvr32进行注册.我读到没有创建用于注册com dll的自定义操作.
那么最好的方法是什么?如果我们需要使用heat,我们在哪里编写命令并将结果wxs添加到主项目中?
我想从我的NAnt脚本中调用某个EXE,并在属性存在时传递属性作为参数,否则不传递任何内容.
以下代码似乎只适用于这种情况,但它不起作用:
<exec program="notepad.exe">
<arg line="${file}" if="${property::exists('file')}" />
</exec>
Run Code Online (Sandbox Code Playgroud)
它抛出Property 'file' has not been set错误.看起来它会评估忽略条件的属性.我希望它<arg>在条件为的情况下忽略整个元素false.
如果我在这个块上面定义属性,它显然工作正常(即使该属性为空).如果它是一个案例,它可能值得一个解决方法,但我必须以同样的方式传递许多属性.此外,<if>不是<exec>...... 下的有效元素
怎么做到这一点?有任何想法吗?
我必须使用Wix创建一个安装包.如果管理员用户正在安装该程序包,则应将其安装到%programfiles%/ [applicationName]中,如果该用户是非管理员用户,则应将其安装到其本地配置文件文件夹(LocalAppDataFolder)中.
怎么可能?
我有问题 Sitecore.Analytics
从我的xslt,我使用jQuery对web服务进行ajax调用.
在我的web服务中,我需要注册/保存一些Sitecore.Analytics数据.问题是我无法使用Sitecore.Analytics.AnalyticsTracker.Current.
所以,我该怎么做TriggerProfile和TriggerEvent?我想知道是否Sitecore.Analytics.AnalyticsManager可以提供任何帮助.
关于在Windows Installer XML中使用片段的目录,我有两个问题.
我从heat.exe获得了这个片段文件:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="TARGETDIR">
<Directory Id="dir08A07F5561FBEB6B9772467C730F6445" Name="Test" />
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="InstallationFiles">
<Component Id="cmp071F7F8F6B6027C8D2841272FE526A2B" Directory="dir08A07F5561FBEB6B9772467C730F6445" Guid="{CCCB70AC-29F5-4DAA-B03E-1A2266649AB6}">
<File Id="fil63087E96FFB31F9E39B642CE8914F48B" KeyPath="yes" Source="SourceDir\dmedv.jpg" />
</Component>
<Component Id="cmpAE6CBEDA75641CF25BA9996AEB74A0DE" Directory="dir08A07F5561FBEB6B9772467C730F6445" Guid="{F5DABCAB-95D1-4197-A49F-E5F052A8E7EF}">
<File Id="filD27F2F6B26F5C14563865FE6C2AD5D50" KeyPath="yes" Source="SourceDir\Files.txt" />
</Component>
<Component Id="cmp25C5EADB5C0A9E779D20EC7B77BD42B0" Directory="dir08A07F5561FBEB6B9772467C730F6445" Guid="{E301B04A-6EA5-496B-A58A-8898110BE57C}">
<File Id="fil7C91C48D9AA0F2FE0EB37A21F108037F" KeyPath="yes" Source="SourceDir\readme.txt" />
</Component>
<Component Id="cmpD387AB4B40EDF14BF271ADDA7B71D2B7" Directory="dir08A07F5561FBEB6B9772467C730F6445" Guid="{6AF61DF4-32D0-4E7C-95B8-1DB9E7409029}">
<File Id="fil966691BA382AFC9343430FE162643432" KeyPath="yes" Source="SourceDir\readme1.txt" />
</Component>
<Component Id="cmpB86212407C1BEA12838C8C7B20495E9F" Directory="dir08A07F5561FBEB6B9772467C730F6445" Guid="{921E971E-E224-464C-9FBC-FBC5F78B3E5B}">
<File Id="fil61CD8EF43EA29DF58454E9A19F8C1EF9" KeyPath="yes" Source="SourceDir\readme2.txt" />
</Component>
<Component Id="cmpE4143B48FF854AE84F6054D4636FDE81" Directory="dir0ADF7E89B935DD39670130B4DC1D670E" Guid="{6F248718-93DD-4850-A18E-BD7079F738D5}">
<File Id="fil03847B355B6AADE5E4E04D143C92BC67" KeyPath="yes" Source="SourceDir\Test2\dmedv2.jpg" /> …Run Code Online (Sandbox Code Playgroud)