FinalBuilder 5.5.0.769
Server: Win Server 2008 R2 (v6.1, build 7600) 64-bit
We have an existing custom action (.Net) that has been working fine on Win 2003 32-bit but is failing on Win 2008 64-bit.
The action needs to reference a path to an executable, which differs between machines, so has been implemented as an option property (with a default value). However, instead of reading the options property directly, it's value is copied to an action property in the ReadData method (I'm unsure why this is done as the developer who wrote the custom action is no longer around; I assume it's because it couldn't be read directly in .Net).
The problem is that no matter what I set the custom option value to in FB, the value read in the action is always incorrect. I've tried changing the default value of the option to a spurious value but the read value is still that of the old default value. It's as if the old value has been cached somewhere.
Out of curiosity, I tried reading the custom option into a local FB variable and in this case the custom option value is correct.
So, just to clarify what we have:
MyActionPackage
- Options
-- MyExePath (default: c:\Program Files\foo\bar)
MyAction
- Properties
-- MyExePath
- Property Pages
-- MyPage
--- ReadData:
Dim opts
set opts = GetOptionsObject("MyOptionCategory")
Properties.PropertyAsString("MyExePath") = opts.Properties.PropertyAsString("MyExePath")
In the .Net action library we read the property using:
IFBProperty myExePath = Context.Properties.get_PropertiesByName("MyExePath");
So I'd be very grateful if anyone can suggest any fixes or other avenues to investigate, or even any alternatives to using the option value.
Thanks.
This looks like the option value is being cached somewhere. Having tried again this morning the correct value (ie the one configured in the options UI) is being read. However, if I change the value again, the read value is incorrect (ie it’s the value I configured yesterday).
I don’t know if this an issue with Win Server or FB but I’ve simply decided to drop the use the option, as it’s clearly unreliable, and have resorted to using a custom config file option instead.
I suspect this may be a problem with file system virtualisation. FB5 predates Server 2008 R2 by a few years. My suggestion would be to upgrade to FB7, which does work and is supported on Server 2008 R2.
Thanks for the reply Vincent. You’re probably right that we should to upgrade to FB7, I’ll have to speak to the powers-that-be though regarding the costs.
Obviously FB5 is kinda old now so can you confirm whether VSoft has ever (or even still does) support FB5 on Win Server 2008? If not, I may be able to use this as an argument for upgrading.
BTW, how & where are the option values persisted? I had a look through files in the FB directories and in the registry but couldn’t find anything.
FB5 was supported on Server 2008, but not 2008 R2. Also, we no longer offer support for FB5, our support policy is that we support the current version (with bug fixes and enhancements) and the previous version (critical bug fixes only).
For FB7, the settings are stored in “C:\ProgramData\VSoft\FinalBuilder7\FinalBuilder7.ini” but I’m not sure where they would go for FB5 (don’t have it installed at home). I will check this on Monday when I get to the office.
Just had a thought which might help, and that is to set the compatibility mode for FB5 to Windows XP SP3. Worth a try.
(btw, it’s bed time here, so no more posts from me tonight).