小编Yan*_*nko的帖子

如何构建WiX以便根据安装.msi的位置复制文件?

我必须使用WiX构建一个.msi,它可以部署到多个环境中.每个环境.有自己的配置文件.现在,我们为每个环境构建一个msi,我想摆脱这种做法.有没有办法只构建一个MSI,它可以根据运行的位置复制特定文件?

wix

3
推荐指数
1
解决办法
804
查看次数

InstallShield - 如何在安装对话框中显示产品代码

这可能是非常明显的,但对于我的生活,我无法弄清楚如何做到这一点.

我有一个在InstallShield 2011中创建的基本MSI安装包.我无法弄清楚如何获得在"安装设计器"的"常规信息"页面上设置的"产品版本"字段以显示安装过程中的对话框表单.

我可以看到显示"产品名称"属性,但不显示"产品版本"

如何在安装期间向用户显示"产品版本"?

谢谢!

installer windows-installer installshield

3
推荐指数
1
解决办法
1772
查看次数

卸载并安装会增加应用程序的报告大小

我在WiX上写了一个安装程序; 而且效果很好.但是,我有一个小问题,安装程序的"报告"大小似乎随着每次后续安装而增长.

脚步

  1. 安装应用程序
  2. 转到"控制面板"选择"程序和功能",找到应用程序并查看大小.
  3. 卸载应用程序
  4. 安装应用程序
  5. 返回"控制面板",选择"程序和功能",找到应用程序并再次查看尺寸(它大致按安装程序的大小增长).

有没有人有任何想法我如何阻止安装之间的增长?或者,如果这是设计?

wix

3
推荐指数
1
解决办法
354
查看次数

安装失败后的自定义操作

如何仅在安装中断或错误完成时才对自定义操作执行排序?

是否有任何Windows安装程序属性返回当前安装状态(失败/成功)?

windows-installer installshield custom-action wix

3
推荐指数
1
解决办法
2920
查看次数

如果按下按钮,如何设置要安装的功能列表?

我正在使用WixUI_Mondo套装.我修改了"CompleteButton"按钮SetupTypeDlg:

<Control Id="ServerButton" Type="PushButton" X="40" Y="120" Width="80" Height="17" ToolTip="!(loc.SetupTypeDlgServerButtonTooltip)" Text="!(loc.SetupTypeDlgServerButton)">
   <Publish Property="WixUI_InstallMode" Value="InstallServer">1</Publish>                  
   <Publish Property="SERVICE" Value="[SERVSTR]">1</Publish>
   <Publish Property="ADDLOCAL" Value="Feature1,Feature2,Feature3">1</Publish>
</Control>

<Property Id="ADDLOCAL" Secure="yes"></Property>
Run Code Online (Sandbox Code Playgroud)

当我按下ServerButton日志时说:

(CLIENT)     MSI (c) (1C:88) [15:28:49:154]: PROPERTY CHANGE: Adding ADDLOCAL property. Its value is 'Feature1,Feature2,Feature3'. 
(UNKNOWN)     ???????? 15:28:49: ServStrDlg. Dialog created 
(UNKNOWN)     ???????? 15:28:53: ShortsDlg. Dialog created 
(UNKNOWN)     ???????? 15:28:55: VerifyReadyDlg. Dialog created 
(CLIENT)     MSI (c) (1C:88) [15:28:55:966]: Note: 1: 2727 2: 
(UNKNOWN)     ???????? ????????? 15:28:56: WelcomeDlg. ??? ???????? 1. 
(CLIENT) …
Run Code Online (Sandbox Code Playgroud)

wix

3
推荐指数
1
解决办法
3193
查看次数

Cruise control ASPNETCOMPILER:错误ASPRUNTIME:预编译目标目录

当我尝试通过CruiseControl和MSBuild版本4构建解决方案文件时,我收到以下错误

ASPNETCOMPILER : error ASPRUNTIME: The precompilation target directory
Run Code Online (Sandbox Code Playgroud)

它来自哪里以及如何避免它?

cruisecontrol.net msbuild clearcase

3
推荐指数
1
解决办法
2882
查看次数

如何在PowerShell二进制模块中捕获外部DLL的控制台输出?

我正在创建一个PowerShell二进制模块,它使用第三方库(DLL),它输出到控制台.所以,基本上我希望我的二进制模块输出自己的消息和该DLL的控制台输出.

可能吗?

所以,让我们说第三方API执行以下操作:

public static void SomeMethod() {
  ...
  Console.Write("Extracting the file...");
  ...
}
Run Code Online (Sandbox Code Playgroud)

二进制模块调用它:

protected override void ProcessRecord() {
  ...
  this.WriteObject("Hello!");
  SomeClass.SomeMethod();
  this.WriteObject("Goodbye!");
}
Run Code Online (Sandbox Code Playgroud)

我看到的输出是:

Hello!
Goodbye!
Run Code Online (Sandbox Code Playgroud)

我想看到的是:

Hello!
Extracting the file...
Goodbye!
Run Code Online (Sandbox Code Playgroud)

powershell powershell-2.0

3
推荐指数
1
解决办法
686
查看次数

尝试更改引用解决方案中的 WixLib 预处理器变量

我创建了一个 WixLib 项目和解决方案,其中包含一个片段,该片段指向我想要包含在多个项目中的一组 DLL。

但是,当我从其他解决方案引用此 wixlib 时,dll 所在目录的预处理器值随 wixlib 一起提供。我想覆盖这个值或更新它。

我的 Wixlib 看起来像这样:

<Fragment>
   <ComponentGroup Id="CG.FarPointComponents">
      <Component Id="cmpBBC3777DD58F5E2AE4704D66EF87C105" Directory="INSTALLDIR"
                 Guid="6CB60019-D122-41F6-8009-C41B07BCE5C3">
         <File Id="filC126C8C2BFE502E045C17A812B8A907D" KeyPath="yes"
               Source="$(var.FarPointDir)\FarPoint.CalcEngine.dll" />
      </Component>
   </ComponentGroup>
</Fragment>
Run Code Online (Sandbox Code Playgroud)

我想在另一个解决方案中为 var.FarPointDir 指定另一个目录,我该怎么办?我用的是wix 3.6

wix wixlib wix3.6

3
推荐指数
1
解决办法
737
查看次数

如何在WiX安装程序脚本中实际使用LinkerBindInputPaths PropertyGroup

我有一个WiX安装程序脚本,它引用Visual Studio Solution文件夹根目录下的文件夹中的文件.在我的.wixproj中,我尝试设置Properties| Tool Setting| Linker

-b $(SolutionDir)\WixSource
Run Code Online (Sandbox Code Playgroud)

并获得一个错误,因为在$ SolutionDir变量的中间是一个带空格的文件夹.所以,我试过了

-b "$(SolutionDir)\WixSource"
Run Code Online (Sandbox Code Playgroud)

并抱怨错误地使用名称周围的引号,并且我应该在文件夹的末尾放置一个双反斜杠,其中包含空格. - 不能这样做,因为它在$(SolutionDir)宏内.

因此,根据对SO的建议,我试图使用LinkerBindInputPathsPropertyGroup,但文档严重缺乏对此属性的实际使用.

我正在运行WiX 3.7,不允许以下内容......

谷歌搜索时,我被告知需要进入以下<Package>元素:

<Package ...>
    <PropertyGroup>
        <LinkerBindInputPaths ???/>
    </PropertyGroup>
</Package>
Run Code Online (Sandbox Code Playgroud)

WiX文档@ http://wix.sourceforge.net/manual-wix3/msbuild_task_reference_light.htm

指定链接器用于查找所有文件的绑定器路径.这相当于light.exe中的-b开关.命名的BindPaths是通过在所提供的路径上添加2个或更多字符的存储桶名称,后跟等号("=")前缀来创建的.

由于没有通过谷歌搜索找到的例子,我无法破译"2个或更多字符的桶名称"是什么,或者是否有任何规则.

我希望能够指定类似的东西$(var.SolutionDir)\WixSource,但需要一些帮助来确定如何解决这个问题...

wix wix3.7

3
推荐指数
1
解决办法
1190
查看次数

Sitecore Workflow命令抛出"找不到命令定义"错误

在下面的代码中,以下行

WorkflowResult result = wf.Execute(SitecoreItems.MediaWorkflowApproveCommand, item, "", false); 
Run Code Online (Sandbox Code Playgroud)

抛出一个Could not find command definition错误.ID和所有其他属性都有效,但命令定义无效.

有什么可能导致它的想法?

using (new SecurityDisabler())
            {
                // Find all related items 
                ItemLink[] itemLinks = dataItem.Links.GetValidLinks();
                foreach (ItemLink link in itemLinks)
                {
                    Item item = link.GetTargetItem();
                    // publishing related media items - the ones that were referenced by the workflow item 
                    // this can be extended - you can publish related aliases also 
                    if (item != null && item.Paths.IsMediaItem)
                    {
                        //push field to the next state
                        IWorkflow …
Run Code Online (Sandbox Code Playgroud)

c# workflow sitecore

3
推荐指数
1
解决办法
786
查看次数