Tallow is a v2 tool which is (supposed to be) replaced by heat in v3. However 
the functionality you're trying to use isn't available by heat so you have to 
do some extra work to get valid WiX v3 code generated.
There is a tool called WiXCop.exe which is used to transform v2 code into v3 
code. If you use it on your bar.wxs file it should convert your code to v3.

Heat should harvest your DLLs completely fine though. If you run it on the 
directory containing the DLL's it should output a Fragment for you which you 
can use as you wish.

Ideally heat would be able to harvest COM executables which have a /regserver 
command in the same way it harvests DLLs which have a DLLRegisterServer entry 
point but until someone writes the functionality we'll be stuck using RegSpy2 
-> tallow -> WiXCop.


Palbinder Sandher 
Software Deployment Engineer 

T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 
http://www.iesve.com 

**Design, Simulate + Innovate with the <Virtual Environment>**

Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 
Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 
0SP

Email Disclaimer


-----Original Message-----
From: Kapoor, Anupama [mailto:[EMAIL PROTECTED] 
Sent: 18 November 2008 19:59
To: General discussion for Windows Installer XML toolset.; Rob Mensching
Subject: Re: [WiX-users] invoking batch file inside wxs file

First because, I am beginner with WIX. But I did try going that way. I have 
about 50-60 COM DLL and one EXE.
 
So, this is what I have done so far:
 
1. Use RegSpy2 tool to gather registry information from the COM, and then saved 
it in foo.reg file.
 
2. Passed foo.reg file through tallow to get bar.wxs file. I used these 
registry info from this file in my Product.wxs file. This didnt seem to work at 
all.
 
I dont know what is going on, so I decided to invoke "batch file" till I figure 
out how to go about extracting registry information.
 
This is sample of what I did for registering an Exe
 
 <Registry Root="HKCR" Key="AppID" Id="REPLACEME.ComReg0" />
  <Registry Root="HKCR" Key="AppID\foo.exe" Name="AppID" 
Value="{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}" Type="string" 
Id="REPLACEME.ComReg1" />
  <Registry Root="HKCR" Key="AppID\{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}" 
Value="bar" Type="string" Id="REPLACEME.ComReg2" />
  <Registry Root="HKCR" Key="CLSID" Id="REPLACEME.ComReg3" />
  <Registry Root="HKCR" Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" 
Value="FooManager Class" Type="string" Id="REPLACEME.ComReg4" />
  <Registry Root="HKCR" Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" 
Name="AppID" Value="{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}" Type="string" 
Id="REPLACEME.ComReg5" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\LocalServer32" 
Value="&quot;[INSTALLDIR]&quot;" Type="string" Id="REPLACEME.ComReg6" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\ProgID" Value="bar.1" 
Type="string" Id="REPLACEME.ComReg7" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\Programmable" 
Id="REPLACEME.ComReg8" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\TypeLib" 
Value="{15CE8CF5-A7C2-4E31-9D37-8734E4330A98}" Type="string" 
Id="REPLACEME.ComReg9" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\VersionIndependentProgID" 
Value="bar" Type="string" Id="REPLACEME.ComReg10" />
  <Registry Root="HKCR" Key="bar" Value="FooManager Class" Type="string" 
Id="REPLACEME.ComReg11" />
  <Registry Root="HKCR" Key="bar\CLSID" 
Value="{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" Type="string" 
Id="REPLACEME.ComReg12" />
  <Registry Root="HKCR" Key="bar\CurVer" Value="bar.1" Type="string" 
Id="REPLACEME.ComReg13" />
  <Registry Root="HKCR" Key="bar.1" Value="FooManager Class" Type="string" 
Id="REPLACEME.ComReg14" />
  <Registry Root="HKCR" Key="bar.1\CLSID" 
Value="{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" Type="string" 
Id="REPLACEME.ComReg15" />
  
  <Registry Root="HKCR" Key="AppID" Id="REPLACEME.ComReg0" />
  <Registry Root="HKCR" Key="AppID\foo.exe" >
    <Registry Name="AppID" Value="{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}" 
Type="string" Id="REPLACEME.ComReg1" />
  </Registry>
  <Registry Root="HKCR" Key="AppID\{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}">
    <Registry Value="bar" Type="string"  Id="REPLACEME.ComReg2"/>
  </Registry>
  <Registry Root="HKCR" Key="CLSID" Id="REPLACEME.ComReg3"/>
  <Registry Root="HKCR" Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}">
    <Registry Value="FooManager Class" Type="string" Id="REPLACEME.ComReg4"/>
    <Registry Name="AppID" Value="{2B7FED60-22A9-408B-B0C1-3232EFBDDCE0}" 
Type="string" Id="REPLACEME.ComReg5"/>
  </Registry>
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\LocalServer32">
    <Registry Value="&quot;D:\src\foo.exe&quot;" Type="string" 
Id="REPLACEME.ComReg6" />
  </Registry>
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\ProgID">
    <Registry Value="bar.1" Type="string" Id="REPLACEME.ComReg7"/>
  </Registry>
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\Programmable" 
Id="REPLACEME.ComReg8" />
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\TypeLib">
    <Registry Value="{15CE8CF5-A7C2-4E31-9D37-8734E4330A98}" Type="string" 
Id="REPLACEME.ComReg9"/>
  </Registry>
  <Registry Root="HKCR" 
Key="CLSID\{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}\VersionIndependentProgID">
    <Registry Value="bar" Type="string" Id="REPLACEME.ComReg10" />
  </Registry>
  <Registry Root="HKCR" Key="bar">
    <Registry Value="FooManager Class" Type="string" Id="REPLACEME.ComReg11"/>
  </Registry>
  <Registry Root="HKCR" Key="bar\CLSID">
    <Registry Value="{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" Type="string" 
Id="REPLACEME.ComReg12"/>
  </Registry>
  <Registry Root="HKCR" Key="bar\CurVer">
    <Registry Value="bar.1" Type="string" Id="REPLACEME.ComReg13"/>
  </Registry>
  <Registry Root="HKCR" Key="bar.1">
    <Registry Value="FooManager Class" Type="string" Id="REPLACEME.ComReg14"/>
  </Registry>
  <Registry Root="HKCR" Key="bar.1\CLSID">
    <Registry Value="{5A6C1627-EC3E-454F-9E27-D9CDFF5FA722}" Type="string" 
Id="REPLACEME.ComReg15"/>
  </Registry>
 
Thanks,
Anu
 


--- On Tue, 11/18/08, Rob Mensching <[EMAIL PROTECTED]> wrote:

From: Rob Mensching <[EMAIL PROTECTED]>
Subject: RE: [WiX-users] invoking batch file inside wxs file
To: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>, "General discussion for Windows 
Installer XML toolset." <wix-users@lists.sourceforge.net>
Date: Tuesday, November 18, 2008, 12:39 PM

Uhh, why don't you just author the registry keys in the .wxs file?  A batch 
file won't rollback correctly.

-----Original Message-----
From: Kapoor, Anupama [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 18, 2008 10:38
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] invoking batch file inside wxs file


Hi Jim,

I have already tried "deferred" but even that seems to fail. This batch file 
basically tries to register the COM components on the target machine.
So, I want the batch file to run after the installer script has run, i.e after 
creating the installer, this script has to run to register the components. May 
be what I am trying to do, is not even possible.

Please suggest.

Thanks,
Anu


--- On Tue, 11/18/08, Jim Williams <[EMAIL PROTECTED]> wrote:
From: Jim Williams <[EMAIL PROTECTED]>
Subject: RE: [WiX-users] invoking batch file inside wxs file
To: [EMAIL PROTECTED], "General discussion for Windows Installer XML toolset." 
<wix-users@lists.sourceforge.net>
Date: Tuesday, November 18, 2008, 11:10 AM

You might want to try deferred execution instead of immediate.  This will run 
the custom action after InstallFinalize when the install script is run.
Immediate causes it to be run when it is encountered when creating the 
installation script.

<CustomAction
      Id='InvokeRegister'
      Property='CommandProcessorPath'
      ExeCommand='&quot;[InstallDir]\Register.bat&quot;
&quot;[InstallDir]\Drivers&quot; Release x64'
      Execute='deferred'
      Impersonate='no'
      Return='check' />

Jim Williams


-----Original Message-----
From: Kapoor, Anupama [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 18, 2008 8:42 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] invoking batch file inside wxs file

Hi,

I am trying to invoke a batch file from my foo.wxs, which I want it to "run" 
after my installer has been installed. So, I am doing something like this:

<Property Id='CommandProcessorPath'
Value='[SystemFolder]/cmd.exe/v:off /c' />

<CustomAction
      Id='InvokeRegister'
      Property='CommandProcessorPath'
      ExeCommand='&quot;[InstallDir]\Register.bat&quot;
&quot;[InstallDir]\Drivers&quot; Release x64'
      Execute='immediate'
      Impersonate='no'
      Return='check' />

<InstallExecuteSequence>
       <Custom Action='InvokeRegister'
After='InstallFinalize' />
    </InstallExecuteSequence>

I am running into issues with this. Can you please let me know what is 
incorrect here?

Thanks much,
Anu



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge 
Build the coolest Linux based applications with Moblin SDK & win great prizes 
Grand prize is a trip for two to an Open Source event anywhere in the world 
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge 
Build the coolest Linux based applications with Moblin SDK & win great prizes 
Grand prize is a trip for two to an Open Source event anywhere in the world 
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




      
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge 
Build the coolest Linux based applications with Moblin SDK & win great prizes 
Grand prize is a trip for two to an Open Source event anywhere in the world 
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to