小编Yan*_*nko的帖子

从其他属性设置属性值

我有一个自定义控件(禁用编辑),我想显示当前登录Domain\User.

我设置这样的属性:

<Property Id="PROP_DOMAINUSER" Value="[%USERDOMAIN]\[LogonUser]"></Property>
Run Code Online (Sandbox Code Playgroud)

但我在编辑框中看到的是确切的文本 - [%USERDOMAIN]\[LogonUser]而不是实际的域和用户.

我如何从另一个属性初始化属性值呢?

wix wix3.5

6
推荐指数
1
解决办法
1万
查看次数

将sitecore 6.6索引配置升级到sitecore 7(使用ComputedFields)

Sitecore CMS + DMS 6.6.0 rev.130404 => 7.0 rev.130424

在我们的项目中,我们一直在为我们的索引使用AdvancedDatabaseCrawler(ADC)(特别是因为它的动态字段功能).这是一个示例索引配置:

<index id="GeoIndex" type="Sitecore.Search.Index, Sitecore.Kernel">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<analyzer ref="search/analyzer" />
<locations hint="list:AddCrawler">
  <web type="scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler, scSearchContrib.Crawler">
    <database>web</database>
    <root>/sitecore/content/Globals/Locations</root>
    <IndexAllFields>true</IndexAllFields>
    <include hint="list:IncludeTemplate">
      <!--Suburb Template-->
      <suburb>{FF0D64AA-DCB4-467A-A310-FF905F9393C0}</suburb>
    </include>
    <dynamicFields hint="raw:AddDynamicFields">
      <dynamicField type="OurApp.CustomSearchFields.SearchTextField,OurApp" name="search text" storageType="NO" indexType="TOKENIZED" vectorType="NO" />
      <dynamicField type="OurApp.CustomSearchFields.LongNameField,OurApp" name="display name" storageType="YES" indexType="UN_TOKENIZED" vectorType="NO" />
    </dynamicFields>
  </web>
</locations>
</index>
Run Code Online (Sandbox Code Playgroud)

如您所见,我们使用scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler爬虫作为爬虫,它使用<dynamicFields hint="raw:AddDynamicFields">部分内部定义的字段将自定义字段注入索引.

现在我们将项目升级到sitecore 7.在Sitecore 7中,他们已将DynamicFields功能从ADC移植到sitecore.我发现了一些关于此的文章,并转换了我们的自定义搜索字段类来实现sitecore 7 IComputedIndexField接口,而不是继承BaseDynamicFieldADC中的类.现在我的问题是如何更改索引配置以匹配新的sitecore 7 API.网上有点点零碎,但找不到转换配置所需的所有示例.有人可以帮我这个吗?

虽然我这样做,但我的印象是我们不必重建我们的索引,因为它仍然在内部使用Lucene.我不想改变索引结构.只想将代码和配置从AdvancedDatabaseCrawler升级到Sitecore 7.我是否应该担心破坏现有的索引?请详细说明这一点.

谢谢

indexing lucene.net sitecore sitecore6 sitecore7

6
推荐指数
2
解决办法
1852
查看次数

WIX 3:使用HEAT for Visual Basic 6 COM Dlls

我正在使用WIX 3.我已经使用heat为VB6 dll创建了一个wxs文件.msi创建没有任何错误,安装也成功.

一切似乎都很好,我可以从VB客户端成功调用组件.

但是,如果我从ASP页面调用组件,我得到0x800401f3.

如果不使用安装程序,我使用自我注册(regsvr32),两者都可以正常工作.

我做了一个注册表差异来弄清楚自我注册(regsvr32)和安装程序之间的区别,我看到以下内容

  1. HKCR的所有参赛作品都匹配 - 这一切都很好
  2. regsvr32在HKLM中添加条目,而安装程序不接触HKLM

我想知道这是不是问题,还是我完全走错了路.

MSDN(http://msdn.microsoft.com/en-us/library/ms694355 ( VS.85 ) .aspx)提到HKLM需要注册表项,想知道我在这里缺少什么.

以下是由heat创建的文件.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="TARGETDIR">
            <Directory Id="dirAD70B10292EAB7CAC7171859FBB23AA9" Name="vbdll" />
        </DirectoryRef>
    </Fragment>
    <Fragment>
        <DirectoryRef Id="dirAD70B10292EAB7CAC7171859FBB23AA9">
            <Component Id="cmp9D818C62A6239E8B51E971A0048D0C05" Guid="PUT-GUID-HERE">
                <File Id="filDD6F51EC5018EF4A9A312FFA6AC4257D" KeyPath="yes" Source="SourceDir\vbdll\act.dll">
                    <TypeLib Id="{80D8DA04-72C9-4D36-B269-57D989187ACF}" Description="act" HelpDirectory="dirAD70B10292EAB7CAC7171859FBB23AA9" Language="0" MajorVersion="1" MinorVersion="0">
                        <Class Id="{31BD65B6-9479-40EB-83C0-E717CD4793DD}" Context="InprocServer32" Description="act.def" ThreadingModel="apartment" Version="1.0" Programmable="yes">
                            <ProgId Id="act.def" Description="act.def" />
                        </Class>
                        <Interface Id="{C6D46026-CD7E-4AB0-B3B6-810FBF435BEF}" Name="def" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" />
                    </TypeLib>
                </File>
                <RegistryValue Root="HKCR" Key="CLSID\{31BD65B6-9479-40EB-83C0-E717CD4793DD}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}" Value="" Type="string" Action="write" />
            </Component> …
Run Code Online (Sandbox Code Playgroud)

vb6 wix wix3

5
推荐指数
1
解决办法
1422
查看次数

从exe中检索COM ProgID而不注册它

背景:

我想从VB6应用程序中提取COM数据,以便我可以正确地注册它(根据Microsoft最佳实践)应用程序.我正在使用WiX 3.0并且heat.exe将不会提取数据(已知的热量问题),我没有准备好访问相关的TLB文件.VB6应用程序没有打开兼容性,因此它会在每次构建时重新生成COM GUID(他们希望应用程序能够与旧版本并行运行.)

我创建了一个C#应用程序,它将从VB6应用程序收集TypeLib,接口和CoClass信息,而无需注册它并创建一个wxs文件供蜡烛使用.我的公司有其他几个这样的旧应用程序,我想使它成为一个更通用的解决方案.

问题:

1.有没有办法从项目或TLB文件中的应用程序中收集"真正的"ProgID(程序员预期的)并且没有注册它?

2.有没有办法在没有注册的情况下从DLL中找出预期的线程模型?(我打算它可以处理所有COM活动项,也可以完成)谢谢.

c# com wix wix3

5
推荐指数
1
解决办法
1630
查看次数

在新创建的迭代上保存WorkItem#IterationPath

我可以通过以下方式成功创建迭代路径:

var commonservice = collection.GetService<ICommonStructureService>();

// create new area path and iteration path
var iterationRoot = commonservice.GetNodeFromPath("\\MyTeamProject\\Iteration");
var newIterationPath = commonservice.CreateNode("my new sprint", iterationRoot.Uri);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将此路径分配给工作项并保存时,该字段不会验证.

如果我再次运行测试(已经创建了迭代),则相同的代码成功.

有人知道如何使这项工作?

c# iteration tfs workitem

5
推荐指数
1
解决办法
1276
查看次数

LoweredUserName 的用途?

除了aspnet_Users 表中的UserName 列之外,还有LoweredUserName 列的目的是什么?

asp.net asp.net-membership

5
推荐指数
1
解决办法
566
查看次数

如何在Wix包中指定.msi包的不同安装/卸载顺序?

这是我的第一个Wix包,所以我可能不知道明显的东西,但我有以下要求:

如果我有一个Wix捆绑包,里面有一个bootstrapper应用程序和两个.msi包(让我们称之为A和B).我知道如果我把它们放在一个Chain元素中,它们将按顺序安装,在我的情况下我想先安装A,然后是B.然而在卸载时,我希望首先卸载B,而不是A.那可能吗?

谢谢.

bundle wix burn wix3.6

5
推荐指数
1
解决办法
1076
查看次数

PropertyRef要求ComboBox

在我的一个对话框中,我有以下控件:

<Control Id="EnvironmentComboBox" Type="ComboBox" Sorted="yes" ComboList="yes" Property="ENVIRONMENT" X="25" Y="110" Width="200" Height="15" />
Run Code Online (Sandbox Code Playgroud)

我在其他地方填写ComboBox如下:

<UI>
  <ComboBox Property="ENVIRONMENT">
    <ListItem Text="Development" Value="Development" />
    <ListItem Text="SIT" Value="SIT" />
    <ListItem Text="UAT" Value="UAT" />
    <ListItem Text="Production" Value="Production" />
  </ComboBox>
</UI>
Run Code Online (Sandbox Code Playgroud)

但是,如果我没有创建ComboBox位,MSI仍将构建,并且在安装期间它将失败(2205).因此,我想强制要求拥有一个名为ENVIRONMENT的属性.我试过在我的对话框中添加如下所示的PropertyRef:

<PropertyRef Id="ENVIRONMENT" />
Run Code Online (Sandbox Code Playgroud)

但是,这似乎没有好转<ComboBox Proeprty="ENVIRONMENT">.它将获取一个常规属性(<Property Id="ENVIRONMENT" Value="test" />),但这并没有多大帮助.

有没有办法要求ComboBox定义?

编辑: 为了澄清,我打算将ComboBox定义与Control定义分开,以便可以重用该对话框.

combobox windows-installer wix

5
推荐指数
1
解决办法
1110
查看次数

如何动态更改Sitecore中的图像大小?

我创建了一个Web服务,并从sitecore6.6获得了imagefield.现在我想动态地改变图像的宽度和高度,以便我有动态的大图像.有近1000张图片需要改变尺寸.任何帮助......

sitecore sitecore6

5
推荐指数
1
解决办法
3426
查看次数

重新缓存的MSI仍在运行旧的自定义操作

我对msi文件中的自定义操作进行了更改,以在服务停止或停止挂起时不尝试停止Windows服务。但是,在使用msiexec / fv mymsi.msi重新缓存了msi之后,在将主要升级运行到下一个版本(也具有已纠正的服务停止自定义操作)时,详细的日志记录表明仍在使用旧的自定义操作代码即使已更新缓存的msi,也可以运行。我什至对缓存的msi与重新缓存中使用的msi进行了二进制比较。

我在这里做错了。

windows-installer wix wix3.5

5
推荐指数
1
解决办法
1634
查看次数