标签: wixlib

在Wix 3.5中覆盖横幅图像Wixlib在实际的MSI中不起作用

我正在使用几篇文章和其他问题来覆盖我在20多个其他安装程序中使用的二进制wixlib的横幅位图图像.该库提供了我们自己的自定义UI,一些自定义对话框,公共资源,二进制文件,自定义操作等.

这是我在wixlib中使用的代码来覆盖图像:

    <Binary Id="WixUI_Bmp_Banner" SourceFile="Bitmaps\bnnrbmp.bmp/>
    <Binary Id="WixUI_Bmp_Dialog" SourceFile="Bitmaps\dlgbmp.bmp/>
Run Code Online (Sandbox Code Playgroud)

但是当我在我的实际MSI项目中引用我的wixlib时,一切都有效,除了UI横幅图像覆盖(我的自定义对话框触发,进程工作,常见二进制文件安装等).在我的二进制wixlib项目中,我需要做些什么特别的事情来覆盖我自己的二进制wixlib中的UIExtension.wixlib默认图像?

我在这里看到了这个问题:WixUiBannerBmp可以设置为wixlib吗?但是,这个问题的答案没有回答这个问题,它与一个图标直接相关,我不确定这个人是否正在使用二进制wixlib(可重新分发).我在wixlib中嵌入的添加/删除程序图标已经可以正常工作了.

wix wixlib wix3.5

8
推荐指数
1
解决办法
8101
查看次数

Wix将项目加载到ComboBox中

我需要使用自定义操作将项目加载到组合框中.

UI.wxs:

            <Control Id="Server" Type="ComboBox" X="30" Y="65" Width="200" Height="18" Property="DATABASE_SERVER">
                <ComboBox Property="DATABASE_SERVER">
                    <ListItem Text="[DATABASE_SERVER]" Value="[DATABASE_SERVER]" />
                </ComboBox>
                <Publish Property="LOGON_VALID" Value="0">1</Publish>
            </Control>
Run Code Online (Sandbox Code Playgroud)

自定义操作

private static ActionResult EnumSqlServersIntoComboBox(Session session, IEnumerable<DataRow> rows)
{
    try
    {
        Debugger.Break();

        session.Log("EnumSQLServers: Begin");

        // Grab the combo box but make sure I'm getting only the one 
        // from WebAppInstallDlg.
        View view = session.Database.OpenView("SELECT * FROM ComboBox WHERE ComboBox.Property='DATABASE_SERVER'");
        view.Execute();

        Int32 index = 1;
        session.Log("EnumSQLServers: Enumerating SQL servers");
        foreach (DataRow row in rows)
        {
            String serverName = row["Name"].ToString();

            // …
Run Code Online (Sandbox Code Playgroud)

wix wix-extension wixlib wix3.6

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

如何在两个WiX项目中共享WiX片段?

我们在SomeDialog.wxs文件中有一个WiX片段,它会提示用户输入一些信息.它在InstallerUI.wxs文件中的另一个片段中引用,该文件控制对话框顺序.当然,Product.wxs是我们的主要文件.效果很好.

现在,我为另一个应用程序的.MSI安装了第二个Visual Studio 2008 Wix 3.0项目,它需要向用户询问相同的信息.我似乎无法找出共享文件的最佳方式,以便更改所请求的信息将导致两个.MSI获得新行为.

老实说,我不知道合并模块,.wsi(包含)或.wixlib是否是正确的解决方案.我希望找到一个有人这样做的简单例子,但到目前为止我都失败了.

编辑: 根据Rob Mensching的 wixlib 博客文章,wixlib可能就是答案,但我仍然在寻找如何做到这一点的例子.

wix wix3 wixlib

4
推荐指数
1
解决办法
3637
查看次数

使用Visual Studio 2010的WiX 3.0 - 没有用户界面库?

我之前使用过Wix来构建安装程序,这太棒了!

我最近重新映像了我的机器,并且只安装了Visual Studio 2010,因为我已将所有项目更新到该版本.

当我下载并安装WiX 3.0时,它抱怨Votive将不会被安装,因为我没有安装visual studio 2005或2008"或更高版本".没关系,我还是不使用Votive(我不太明白VS 2008与它有什么关系,但无论如何......)

当我尝试使用light.exe链接我的Wix安装程序时,我收到链接错误,因为它无法找到UI wixlibs.搜索我的驱动器上的各个位置(常见文件,Wix安装目录等),我找不到任何wixlib文件.

是否需要为WiX UI库单独下载?如果是的话,在哪里?我在Wix网站上找不到任何有希望的链接.或者是UI库以某种方式链接到Votive安装的问题?如果是这样,我如何在只有Visual Studio 2010的系统上安装它们?

wix wix3 visual-studio-2010 wixlib

4
推荐指数
1
解决办法
1314
查看次数

来自当前用户的MyDocuments,Wix中的buildin变量?

我需要安装一些文件C:\Documents and Settings\currentUser\SomeFolder.我找不到一些buildin函数/变量.

有人可以帮我/告诉我<DirectoryRef Id="TARGETDIR">我的问题的结构或解决方案吗?

谢谢.

deployment wix wixlib

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

是否可以在wixlib中包含"源"文件?

是否可以在wixlib中包含"源"文件?

我有许多c ++解决方案,每个解决方案包含一个或多个项目,以及一个包含以下条目的片段的wixlib:

<File Id="MY_ID" KeyPath="yes" Source="$(var.my_path)\foo.exe" />
Run Code Online (Sandbox Code Playgroud)

我想收集"foo.exe"并将其包含在wixlib中,然后创建一个WiX项目,将几个这样的wixlib链接在一起并产生一个MSI.

我所做的阅读似乎建议WiX3以及后来支持这一点,并且该技术比使用合并模块更受欢迎.

目前,我使用一个环境变量来描述二进制文件的路径,在链接时light.exe使用它来查找文件.但是,它有以下缺点:

  • 在编译wixlibs的时间之间要更改的文件版本,以及将wixlibs链接到MSI中,以及
  • 特定于用于构建wixlib的环境(例如:如果wixlib编译和链接发生在不同的机器上,则两者都需要构建所需的二进制文件)

wix wix3 wixlib

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

尝试更改引用解决方案中的 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
查看次数

WixUiBannerBmp可以设置为wixlib吗?

目前我正在尝试将WixUIBannerBmp,WixUIDialogBmp和WixUILicenseRtf WixVariables及其相应的二进制文件移动到wixlib.不幸的是,在构建时忽略这些并使用默认值.

我的Library.wxs:

<Fragment>
    <WixVariable Id="WixUILicenseRtf" Value="licence.rtf" />
    <WixVariable Id="WixUIBannerBmp" Value="binaries/bannrbmp.bmp" />
    <WixVariable Id="WixUIDialogBmp" Value="binaries/dlgbmp.bmp" />
</Fragment>
Run Code Online (Sandbox Code Playgroud)

其中rtf和bmp文件包含在wixlib项目中,路径相对于Library.wxs文件.

任何人都有任何想法为什么这不起作用?

谢谢

windows-installer wix wixlib wix3.5

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

Wix:安装可执行文件

我是WiX的新手,我一直在尝试为我的应用程序创建一个安装程序.其余的东西工作正常,但我一度陷入困境.我需要在将文件复制到Program Files文件夹后解压缩.我不确定Windows是否可以直接执行,所以我从互联网上获得了一个unzip.exe,它可以解压缩.我已将该文件复制到我的Program Files文件夹中.但是如何在那里解压缩我的文件.我尝试了以下代码但没有结果: -

**

<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
  <Product Name='Test' Id='xxxxxx' UpgradeCode='xxxxxxx'
    Language='1033' Codepage='1252' Version='0.1.3' Manufacturer=''>
    <Package Id='*' Keywords='Installer' Description=""
      Comments='' Manufacturer=''
      InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />

    <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
    <Property Id='DiskPrompt' Value="Designer Installation [1]" />
    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='Test' Name='Test'>

                  <Component Id='unzip' Guid='xxxxxxx'>
              <File Id='unzipexe' Name='unzip.exe' DiskId='1' Source='unzip.exe' KeyPath='yes' />
          </Component>
                  <Component Id='sdk' Guid='xxxxxxxx'>
              <File Id='SDK' Name='sdk.zip' DiskId='1' Source='sdk.zip' KeyPath='yes' />
          </Component>
                  <Component Id='testlogger' Guid='xxxxxxx'>
              <File Id='TestLog' Name='Test.log' DiskId='1' …
Run Code Online (Sandbox Code Playgroud)

wix wixlib wix3.5

0
推荐指数
1
解决办法
1407
查看次数

引用当前wix-library的文件夹(wixlib)

如何定义相对于我目前所在的"wix-library"项目的File/@ Source?

如果我使用:

<File Id="f1" Source=".\bla"/>
Run Code Online (Sandbox Code Playgroud)

然后 "." 是指调用"Windows Installer Package"项目的根目录,因此无法使用!

wix path wixlib

0
推荐指数
1
解决办法
1780
查看次数