Thanks for responding, but that section (which was a pain to find BTW), doesn't really explain much. It's extremely confusing and has no samples to look at to help explain what it's describing.
I am looking for a more detailed "How To"...
I am trying to create a Wise Installation routine using "Wise for Windows Installer 6.2". What I would like to do, is if the user selected a certain option for install, to display a screen asking for a Procudt ID, this part is fairly simple. The next thing I would like to do, is "validate" the Product ID entered before allowing the user to continue. In order to do this, I have to run VB Code using a custom class I created, but I have no clue how to run VB.Net Code inside the Wise Installation & return a "Pass/Fail" flag...
Can anyone help point me in the right direction?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
DLL must be C++-type one, that's where there are "functions" inside it, which you specify in the custom action. I don't think you can do it with VB.net.
I think it would be much easier to call executable instead of DLL. Or you can call vbscript that in turn will create an instance of your class, run it, and return the result.
See http://msdn.microsoft.com/
I personally would use vbscript if possible. If you make the executable in .net, then you are opening a big can of worms with installed framework, its version, plus ton of various security issues, guaranteed.
This question stayed open because no truly useful and/or valid answer has come up. This problem is still active. I suppose since no one else has offered suggestions to this thread, it can be closed since apparently no one has an answer. But accepting vadimrapp1's comment is not valid, since his comment was not an actual useful answer for my problem.
> no truly useful and/or valid answer has come up
> his comment was not an actual useful answer for my problem.
the question was:
"I have no clue how to run VB.Net Code inside the Wise Installation & return a "Pass/Fail" flag..."
I explained why DLL made by VB wouldn't work;
and then I suggested what will work instead.
Please clarify why this is not valid, and what you expected.
My apologies, no offence was intended.
I need to know exactly how to incorporate this type of idea into the WFWI project. I understand that a DLL could help, or an EXE. I do not write in C++ so that type of DLL idea doesn't help my situation. And although I could write another VB executable to recieve and return data, I still don't know how to incorporate it into WFWI. Like I stated in my 2nd posting "I am looking for a more detailed "How To"... "
I need examples, it's makes it easier to understand and grasp. I am new to using WFWI, I come from using Wise Installation System 9.0 where we had a great amount of control over the scripting directly within the installation routine. WFWI is very....limited or rather locked down, in what you can access. Or so it seems compared to what I am used to.
here's the sample. Look at the button "next" on the dialog "user information" - it runs custom action "MyValidateProductId" - which is embedded vbscript. That vbscript extracts the property associated with the product id box on the dialog, analyzes it, and depending on the result sets another property MyValidationSuccess to 1 or 0. Following that, button "next" invokes the next dialog only when MyValidationSuccess = 1; there's also textbox "invalid key" that shows up or hides depending on the value of MyValidationSuccess.
This is simple implementation; in fact, the user can bypass UI alltogether by running the installation from command line with /qn , so you have to ensure that validation occurs in the immediate phase as well.
the sample can be downloaded from here:
http://rdpvr.polyscience.c
Ok, I was able to trrack down the embedded code. Sorry I found it a few minutes after I posted the previous comment.
But one remaining question I do have, is it possible to use my own previously created class that will verify the ProductID? If so, how can I add the class to the project to be able to instantiate it in the VBScript and use?
I don't think it's possible. The binaries for custom actions are stored in the installation in the table Binaries, and are extracted just for running custom action, and then deleted. They are extracted with temporary name. In case of your class, the dll would have to be not only extracted, but also registered in the system as COM object, prior to running the vbscript. Which Installer obviously won't do. That's why it allows C++ dll's, because their entry points can be addressed directly by name without any registration in the system.
The only way I can imagine would be by vbscript reaching inside the installation, extracting the binary dll, storing it on the hard drive, running regsvr32, then calling, then unregistering and removing - but as you can see, it's closer to sci-fi than to reality.
Instead of vbscript, you can call an executable - "execute program from installation". Note however the last paragraph from my prior comment 24825868 .
Business Accounts
Answer for Membership
by: vadimrapp1Posted on 2009-07-09 at 19:06:55ID: 24819921
Did you read the article "Guidelines for Calling .DLLs " in WfWI Help?