wix-tallow使用

转载 2007年09月18日 23:05:00

又整合了两篇文章,关于使用tallow.exe的

近时不断深入研究Wix,终于将setup的界面部分搞懂,并制做了一个比较好看的界面。接下来就是要制做文件表。

看了这么久的Wix,我知道需要使用工具tallow.exe制作文件表。我还没用过,试用了一下,果然极其好使。它会将源目录下所有文件找出来列表,并自动生成wxs文件,它是一个Fragment。
用完之后,发现不能卸载这些文件,觉得应该是GUID的问题。前些时候一直关注Wix的文章,依稀记得以前看贴的时候有人就发现tallow.exe不能产生GUID的BUG,于是就翻出这篇文章照着改。果然有效。
改完后运行一下wix源文件根目录下的make.bat,它就自动将Wix toolset编译了一次。看着命令行编译,似乎与Linux下的差不多,呵呵~也挺好使的,用惯了图形界面编译,感觉有些别钮。
完了后用了新的tallow,非常好,能生成GUID了。
想想e Joel Test的软件开发成功 12 法则,第二条,你们可以把整个系统从源码到CD映像文件一步建成吗?现在我可以有把握地回答:“是”了,虽然暂时还没有实现。

WiX Tips and Tricks: Part 2 - Tallow, Component GUID's and Uninstallation
Included with the WiX toolset is a tool called Tallow.  This tool is meant for the purpose of walking a directory tree to produce valid Fragments containing Directories, Components and Files.  Unfortunately though, when using the tool you don't get a "Guid" attribute on each "Component" element as seen in the below example:

C:/wix>tallow -d ./doc -nologo
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Directory Id="directory0" Name="doc">
        <Component Id="component0" DiskId="1">
          <File Id="file0" Name="vssver2.scc" src="C:/wix/doc/vssver2.scc" />
          <File Id="file1" Name="WiX.chm" src="C:/wix/doc/WiX.chm" />
          <File Id="file2" Name="wix.xsd" src="C:/wix/doc/wix.xsd" />
          <File Id="file3" Name="wixloc.xsd" src="C:/wix/doc/wixloc.xsd" />
        </Component>
      </Directory>
    </DirectoryRef>
  </Fragment>
</Wix>

This in turn causes a problem on eventual uninstallation of the generated MSI - as there are no component Guid's, Windows Installer doesn't know which files to remove!

Enter Stefan Zschocke's "Mallow" tool available from http://www.infozoom.de/download/Mallow.zip.  This tool overcomes the limitations of Tallow - and also adds synchronisation functionality - the tool can be run with an existing .wxs file as input, any extra files will be added and existing component Guid's will be preserved.


C:/wix>mallow -d ./doc
<?xml version="1.0" encoding="IBM437"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
  <!--Mallow protocol 10/12/2005 18:48:45
  Added     Component Id=component0 Path=
  -->
  <Fragment>
    <DirectoryRef Id="TARGETDIR">
      <Component Id="component0" Guid="ec4d2b48-28f5-4c3d-bf02-ebc1d490177f" DiskId="1">
        <File Id="file0" Name="vssver2.scc" src="C:/wix/doc/vssver2.scc" />
        <File Id="file1" Name="WiX.chm" src="C:/wix/doc/WiX.chm" />
        <File Id="file2" Name="wix.xsd" src="C:/wix/doc/wix.xsd" />
        <File Id="file3" Name="wixloc.xsd" src="C:/wix/doc/wixloc.xsd" />
      </Component>
    </DirectoryRef>
  </Fragment>
</Wix>

Update: Actually, Rob Mensching has updated SourceForge to say that this functionality has now been added to Tallow, see http://sourceforge.net/tracker/index.php?func=detail&aid=1120401&group_id=105970&atid=642717 - and as Rob mentions in his blog post, they are gearing up to push another release to SourceForge imminently including MSI 4.0 support.


You have to redirect the output, and you will also want to strip the logo.

tallow -nologo -d c:/drop > mywixfile.wxs

I would recommend going over the generated file very carefully before
trying to use it in a build process (IIRC, it will not place GUID's in
components, and may not even be buildable in it's initial form).


 

Wix打包系列(一)如何使用wix制作安装程序

http://www.xuebuyuan.com/1798879.html 最近由于项目需要,需要给客户制作安装程序,一开始使用vs2005自带的打包工程来打包,但用了一段时间发现vs打包太...
  • xiaoxiaoniaoge
  • xiaoxiaoniaoge
  • 2016年03月30日 15:08
  • 1624

WIX安装图文并茂简易说明

一、           环境配置 1.      安装VS2012 2.      安装WixToolSet。安装完成后,VS中会多增加Windows Installer XML的项目。 二、   ...
  • xxdddail
  • xxdddail
  • 2013年10月12日 15:09
  • 3837

利用WIX制作安装包(1)

#installation下载最新版本的WIX toolset 并安装DOWNLOADWix toolset V3.5之后的版本已经可以集成到visual studio,我们可以直接在vs中编写代码,...
  • venus258
  • venus258
  • 2016年05月09日 21:37
  • 1069

Windows Installer XML (WIX)使用帮助3.7

  • 2013年03月07日 10:11
  • 932KB
  • 下载

使用WIX制作C#应用程序的安装包

1. 下载安装wix3.9从网站: http://wixtoolset.org/releases/  2. 安装完成wix,就可以在vs2012里使用了。3. 创建项目 ...
  • caimouse
  • caimouse
  • 2016年05月26日 11:48
  • 1689

Windows Installer XML (WiX) 使用记录 (一)

被 Wix (Windows) 折腾了很长的一段时间。为了确保以后不要被同样的问题折腾,决定把知识的都记录下来。   最简单的安装包。 1. 创建一个 bland solution,命名为 WixSa...
  • CGabriel
  • CGabriel
  • 2014年07月16日 00:04
  • 824

使用WIX制作具有时间限制的安装包

最近研究了一下如何使用WIX制作具有时间限制的安装包,下图是demo的效果图。 完成这个demo主要有两点值得注意: 1. 选择合适的脚本语言(VBScript or JScript)实现...
  • powertoolsteam
  • powertoolsteam
  • 2011年11月09日 15:47
  • 1260

使用WiX打包你的应用程序之一---基本应用

使用WiX打包你的应用程序之一---基本应用 很多从事开发的同行,在程序部署方面经常遇到这样一些问题: 程序部署复杂,无法搞定,甚至于必须开发人员到现场去安装调试; Visual Stud...
  • softuse
  • softuse
  • 2015年09月13日 19:33
  • 921

Wix Develpoer Guide

  • 2012年09月08日 16:20
  • 880KB
  • 下载

WiX A Developers Guide to Windows Installer XML

  • 2012年12月06日 08:48
  • 6.35MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wix-tallow使用
举报原因:
原因补充:

(最多只允许输入30个字)