Bugs item #1475370, was opened at 2006-04-24 08:47
Message generated for change (Settings changed) made by barnson
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1475370&group_id=105970
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: heat
Group: v3.0
>Status: Closed
Resolution: Fixed
Priority: 5
Private: No
Submitted By: Jacek (performer24)
Assigned to: Derek (derekc)
Summary: Tallow does not generate valid CodeBase registry entry
Initial Comment:
Tallow when run on .NET assembly should extract all
registration information. The data extracted for
CodeBase point to current code base on development
machine. As this value is valid only for development
box and can not be easily changed without extensive
hand editing it prevents from using tallow in automated
build environment without using additional executables
to modify output. It is particularly annoying when code
base points to GAC or NGEN native assembly cache which
can be easily expressed by public properties natively
available in windows intaller.
----------------------------------------------------------------------
Comment By: Derek (derekc)
Date: 2006-05-26 19:59
Message:
Logged In: YES
user_id=518766
Thanks for the additional info. For now, the fix I made to
heat will set:
"CodeBase"="[#FileId]"
This doesn't have the leading "file:///" but I'm not
entirely sure having that leading part is entirely correct
given that the slashes in the path are backslashes not
forward slashes. If this turns out to be incorrect when
someone figures out a way to test it, we can try with the
file:/// in front as well.
Heat shouldn't need to worry about the case of GACed files
because it doesn't grab anything from the GAC or set the
Assembly=".net" attribute. If someone wants to GAC a
harvested assembly, they will need to be careful about
removing the codebase registry value for now. Eventually,
these keys should be represented in WiX as strongly-typed
elements in which case we'd throw an error for people using
the codebase for a GACed assembly. But for now this should
be okay.
----------------------------------------------------------------------
Comment By: Martin Lavelle (hypercaust)
Date: 2006-05-26 12:30
Message:
Logged In: YES
user_id=1322672
Hi Derek,
Installshield 10.5 handles codebase entries like this...
"CodeBase"="file:///[#INSERT-FILE-ID-HERE]"
Suggesting short file names only? Sorry, but I don't know
how to test this, because I don't know exactly when
CodeBase keys are referenced.
P.S. MS documentation states that this key should not be
used if the assembly is GAC'd. I don't see how tallow/heat
will know to remove it, unless you put a GAC option into
the commandline.
----------------------------------------------------------------------
Comment By: Derek (derekc)
Date: 2006-05-19 08:38
Message:
Logged In: YES
user_id=518766
Thanks for the explaination. Now this makes sense to me.
The fix I'm considering is to just replace the
"file:///url/file/path" thing with the full path to the file
(there seem to be a few instances of registration like this
in my registry from various apps). Could someone do a quick
sanity test of whether this would actually work? Ideally a
good test would use a path that contained spaces like
"C:\Program Files\My App\test.dll". Thanks!
----------------------------------------------------------------------
Comment By: Martin Lavelle (hypercaust)
Date: 2006-05-17 12:20
Message:
Logged In: YES
user_id=1322672
Derek,
As there has been no followup yet, I am chipping in. Please
find a sample snippet below (as requested).I can't add
files to this bug...
This is also a problem with heat (as you said).
The CodeBase values have their slashes going the wrong way
(why?!?), so I don't see how MSI can ever localise these
keys. I think you will have to clean them out. I Doubt it
will matter much if you do remove them, not the most useful
key.
Heat sample Snippet...
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32\7.0.0.0" Name="Class"
Value="NTL.Harmony.Workforce.Common.Taskforce.TaskDetailsFie
ldSupportInformationReplaceCableModems" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32\7.0.0.0" Name="Assembly"
Value="NTL.Harmony.Workforce.Common.Taskforce,
Version=7.0.0.0, Culture=neutral,
PublicKeyToken=be06efeec715c2fd" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32\7.0.0.0"
Name="RuntimeVersion" Value="v1.1.4322" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32\7.0.0.0" Name="CodeBase"
Value="file:///C:/Harmony/Assemblies/NTL.Harmony.Workforce.C
ommon.Taskforce.dll" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Value="mscoree.dll"
Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Name="ThreadingModel"
Value="Both" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Name="Class"
Value="NTL.Harmony.Workforce.Common.Taskforce.TaskDetailsFie
ldSupportInformationReplaceCableModems" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Name="Assembly"
Value="NTL.Harmony.Workforce.Common.Taskforce,
Version=7.0.0.0, Culture=neutral,
PublicKeyToken=be06efeec715c2fd" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Name="RuntimeVersion"
Value="v1.1.4322" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\InprocServer32" Name="CodeBase"
Value="file:///C:/Harmony/Assemblies/NTL.Harmony.Workforce.C
ommon.Taskforce.dll" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}\ProgId"
Value="NTL.Harmony.Workforce.Common.Taskforce.TaskDetailsFie
ldSupportInformationReplaceCableModems" Type="string"
Action="write" />
<RegistryValue Root="HKCR" Key="CLSID\{002CFA12-3C3E-3D7B-
93F3-AA448E71E142}"
Value="NTL.Harmony.Workforce.Common.Taskforce.TaskDetailsFie
ldSupportInformationReplaceCableModems" Type="string"
Action="write" />
----------------------------------------------------------------------
Comment By: Derek (derekc)
Date: 2006-04-24 15:59
Message:
Logged In: YES
user_id=518766
Could you please give an example of an assembly dll file
which shows this problem when used with tallow? Also,
please note that tallow is currently being deprecated in
favor of heat. I assume that this particular issue is not
currently fixed by heat, but when it is fixed, it will be
fixed in heat since tallow is no longer under active
development (due to the limitations of its architecture).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1475370&group_id=105970
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs