IRC Log Viewer » #firebreath » 2013-08-20

IRC Nick Time (GMT-7) Message
les12345678 12:08 Is there a good way to add a "resource", in a windows firebreath project, such that a rebuild (cmake file changes) will not wipe out the resource?
taxilian 12:08 define resource
like osmething in a .rc file?
or just a code file?
ceterumnet 12:08 qq - does Firebreath support the WiX installer stuff for Win64?
taxilian 12:08 I've heard conflicting reports
FireBreath itself doesn't "support" or "not support"
but whether the wix stuff works on win64 or not I'm not 100% sure
ceterumnet 12:08 yea - mainly referring to the templates etc...
taxilian 12:08 some have definitely indicated that they got it working, but others seem to indicate that it doesn't
the templates should work AFAIK
bu I won't guarantee
ceterumnet 12:08 ok
taxilian 12:08 why are you doing win64?
ceterumnet 12:08 stupid f*cking contractual requirement
I won the fight for the last year
but recently lost
taxilian 12:08 heh
ceterumnet 12:08 I wish windows worked like OS X
it would make life so much easier
taxilian 12:08 it may need to be a separate install
ceterumnet 12:08 yea - that is the plan at the moment, but the WiX installer is failing to build
taxilian 12:08 but you could also make two silent installs, one for 32 bit and one for 64, and then conditionally install just 32 or both depending on the platform
well, what is the error?
ceterumnet 12:08 16>C:\Users\David Raphael\Documents\GitHub\firebreath-dev\build\projects\iScanOnlineBrowserPlugin\npiScanOnlineBrowserPlugin_auto.wxs(8): error LGHT0204: ICE38: Component cmpBF9C570F31C56DCD9C3EE9BA375166F5 installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file.
taxilian 12:08 check your np<plugin name>.wxs file
sounds like heat probably didn't harvest the selfreg stuff properly
ceterumnet 12:08 actually
16>heat.exe : warning HEAT5150: Could not harvest data from a file that was expected to be a SelfReg DLL: C:\Users\David Raphael\Documents\GitHub\firebreath-dev\build\bin\iScanOnlineBrowserPlugin\Debug\npiScanOnlineBrowserPlugin.dll. If this file does not support SelfReg you can ignore this warning. Otherwise, this error detail may be helpful to diagnose the failure: Unable to load file: C:\Users\David
Raphael\Documents\GitHub\firebreath-dev\build\bin\iScanOnlineBrowserPlugin\Debug\npiScanOnlineBrowserPlugin.dll, error: 193
yea
lol
taxilian 12:08 so does regsvr32 run on it?
ceterumnet 12:08 lemme check
taxilian 12:08 for future reference, that should usually be the first thing you check for any heat error like that
ceterumnet 12:08 yes - it runs on it
taxilian 12:08 then it's a wix issue
figure out why heat.exe isn't running properly and that'll tell you your next step
ceterumnet 12:08 thanks
yea - looks like there are some threads talking about making heat work with 64 bit stuff…I'll dig in and if I find a fix I'll contribute
taxilian 12:08 sounds good
good luck
ceterumnet 12:08 if nothing else to the documentation
thanks
taxilian 12:08 worst case you could probably use the one from the 32 bit build, I *think* it'll be correct, but...
I have also heard that it may be better to use different CLSIDs for 32 vs 64 bit
ceterumnet 12:08 yea…I'm wondering if I can do some sort of side by side installation
with 2 separate installers etc...
taxilian 12:08 like I said, I think I'd make an MSI for each and then make one "master" installer that installs both on 64 bit but 32 bit only on 32
ceterumnet 12:08 yea - that makes sense
should I create the extra WiX definitions in my plugin or should I fork the firebreath source and add it there?
taxilian 12:08 depends on what you need to do
as a general rule, always put changes in your plugin if you can
only change firebreath source if all plugins will need that change and/or there is no way to customize firebreath from the plugin
ceterumnet 14:08 so it looks like I am going to have to bypass heat for windows 64 bit
heat is 32 bit only
yay
I guess I'll just generate a template from the 32bit and adapt it and plug in values for clsids and such
les12345678 14:08 sorry, a barrage of meetings ambushed me just after I asked my question about resources...
when I add a resource to my project, rebuilds wipe those resources out (replaces it with firebreath default as defined in cmake file)
is there anything in the firebreath make system that would let me add things into the resource file or attach a my own resource file to the project?
kylehuff 14:08 les12345678: in the backbuffer, there was a request for clarification of your question
taxilian 15:08 les12345678 what kind of resource are you referring to?
ceterumnet 15:08 taxilian: ok - so heat.exe won't work with the 64 bit dll, I am thinking that I will have to generate my own xml for the iScanOnlineBrowserPluginInstaller_auto.wix and change the way that the function add_wix_installer() works so that the heat part of the process is skipped for a 64 bit build. Is the best way to override that behavior by redefining that cmake function in the plugin source directory?
taxilian 15:08 there isn't; that stuff really needs to be improved to be more powerful :-/ I kinda hacked it in years ago and it has always mostly worked, so we haven't tuned it much
ceterumnet 15:08 taxilian: so maybe I should just fork it and send pull request if I get it sorted out?