View Single Post
  #6  
Old 05-02-2007, 01:06 PM
smckeown smckeown is online now
Registered User
 
Join Date: 05-01-2007
Posts: 18
Thanks for the reply.

I saw the reference to that registry item in another post. That item did not exist in my registry.

Here is how to reproduce the problem on my box. (No registry magic required.)

...Everyone's mileage may vary...

== To Reproduce ==

1. Create a script with steps to unregister all DLLs and OCX in a registry (see the XML from my previous post or use the VBP VB sample build script)
a. Create a "process files" step with the include filters *.dll, *.ocx. No exclude filters.
b. Create a step under process files step
2. Highlight the two steps and select 'Rerun selected' (I later read in the help this is not support for this type of action.)
3. When the steps are run, the unregister may pass or fail. (This isn't the test, just a note.)
**4. Double click on any step in the VBP script.
**5. See the error "Error initializing action's custom UI components."
5a. At this point, no steps can be edited in the VBP application because double clicking any step generates the UI error.
6. Save the script and exit.
7. Start VBP, see the action step error

== OK, my fix ==

1. Change to \program files\visual builder pro and re-register all DLLs in that directory.
1a. I use the shell command executed from the VBP install directory "for %f in (*.dll) do regsvr32 %f"
1b. Some DLLs don't register. This is expected.
2. Restart VBP and the startup action error and the UI error on edit no longer appear.

Note: Repeat steps 2 -5 from the first example to see the error again. Repeat the fix to get VBP to run again.

Note: You don't even have to exit VBP to get VBP working again. Just hop over to your command prompt and re-register the VBP DLLs. Then double clicking on an action step works as expected without any errors.

== My hypothesis ==

After I saw re-registering the DLLs 'fixed' VBP, I wondered if trying to unregister my DLLs was causing the VBP error.

Debug Step:
1. Under the iterative file step, before the unregister, add the step to log the globals that the iterative file step support. (procfiles_count, procfiles_fullpath, procfiles_root_dir).
2. Highlight the iterative file step and the log step and rerun. (I still didn't know this wasn't supported yet.) My log file had NOTHING for the supported global variables.

This lead me to think that the when using the 'rerun steps' feature, the globals are not expanded, however the unregister is still executed. My guess is then that since the globals are not expanded, the unregister command looks in the directory the process was executing in (the visual builder pro directory) and unregisters and DLLs and OCXs in the process directory. But this is just my guess.

== Workarounds ==

I tried excluding the VBP DLLs on the iterative file step, but the DLLs would still get unregistered.

I then read the help and saw where the 'Iterative' file steps can not be tested with 'rerun selected.'

== Conclusions ==

1. Do NOT test "Process files" with "unregister" steps using the "Rerun selected" menu. Always check the steps you wish to test, select clear and the then build.
2. If you happen to get the UI error and then the action step error, try re-registering the VBP dlls.

Again, mileage may vary...

-Sheryl
Reply With Quote