Jump to content











Photo
- - - - -

WinBuilder 080 scheduled for upload


  • This topic is locked This topic is locked
242 replies to this topic

#51 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 11 February 2010 - 01:44 PM

Does your explanation mean, that the RegReadInternal on my system reads literally %USERPROFILE%\Desktop,

yes, I am not sure if ansireplace needed on delphi ??? can you try on your host without using ansireplace, if works than perfect solution. :cheers:

and on your system the correct path?

Than we can be satisfied, as you already exoplained then the replace code will do nothing.

Yes I am already satisfied, but I (personally) am not selfish and seeking for perfect solution on delphi to avoid future issues by others.

BTW: If I look into my registry by regedit, I see also the complete path.

on the registry of freshly installed XP-enu (and tr) (32bit, 64bit etc.) the default values are REG_EXPAND_SZ with %USERPROFILE%, example: %USERPROFILE%\Start Menu

Why does Billy's API substitute with %UserProfile% on my system, but does not on yours? :cheers:

maybe german xp ?

ps: see you later, I need to go.

#52 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 11 February 2010 - 01:47 PM

Does your explanation mean, that the RegReadInternal on my system reads literally %USERPROFILE%\Desktop,

yes, I am not sure if ansireplace needed on delphi ??? can you try on your host without using ansireplace, if works than perfect solution. :cheers:

sorry, thinking again, NO.

If on your registry the desktop value is not REG_EXPAND_SZ with %USERPROFILE%\Desktop
than it reads what it writes directly. (I do not know what changes on your xp)

please make a test I ask with unmodified XP-enu install. If works than perfect, case close forever.

#53 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 02:05 PM

can you try on your host without using ansireplace

Not necessary. That is how I started. And then I got no result.
Going into debugger I saw the %USERPROFILE% in the Registry.ReadString result.
And then I added the replace.

on the registry of freshly installed XP-enu (and tr) (32bit, 64bit etc.) the default values are REG_EXPAND_SZ with %USERPROFILE%, example: %USERPROFILE%\Start Menu

THAT IS IT! the REG_EXPAND_SZ gave me the hint!

I looked in my lokal registry into ...\Shell Folders and found the complete path as REG_SZ.
The %USERPROFILE% path as REG_EXPAND_SZ is in ...\User Shell Folders.

I changed the WB code from User Shell Folders to Shell Folders, and it works now w/o replacement.
:cheers:

Peter

#54 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 03:31 PM

I changed the WB code from User Shell Folders to Shell Folders, and it works now w/o replacement.

Are you sure this is a good idea?
Shell Folders are the ones that belong to the AllUsers profile.

:cheers:

#55 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 03:42 PM

In the latest Trash the save button on the source interface has disappeared again. In SP6 it was still there.

:cheers:

#56 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 03:46 PM

Are you sure this is a good idea?
Shell Folders are the ones that belong to the AllUsers profile.

AllUsers is under HKLM, single user under HKCU.

Both roots have User Shell Folders AND Shell Foldrs.

Peter

#57 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 03:50 PM

Just a little annoyance, maybe you can fix it too.

This is what i type.
WB_Error.gif

After closing and reopening this is what i get.
WB_Error2.gif

Clearly the Linefeed got correctly encoded into the line during save, however while displaying it is ignored.

:cheers:

#58 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 04:12 PM

Just a little annoyance, maybe you can fix it too.

This is what i type.
WB_Error.gif

After closing and reopening this is what i get.
WB_Error2.gif

Clearly the Linefeed got correctly encoded into the line during save, however while displaying it is ignored.

:cheers:


Fixed!

Next trash.

Peter

#59 Lancelot

Lancelot

    Frequent Member

  • .script developer
  • 5013 posts
  • Location:Turkiye/Izmir
  • Interests:*Mechanical stuff and Physics,
    *LiveXP, BartPE, SherpyaXPE,
    *Basketball and Looong Walking,
    *Buying outwear for my girlf (Reason: Girls are stupid about buying bad stuff to make themselves uglier :))
    *Girls (Lyric: Girl,...., You will be a womann, Soon)
    *Answering questions for "Meaning of life",
    *Helping people,

    Kung with LiveXP, Fu with Peter :)
  •  
    Turkey

Posted 11 February 2010 - 04:15 PM

Not necessary. That is how I started. And then I got no result.
Going into debugger I saw the %USERPROFILE% in the Registry.ReadString result.
And then I added the replace.

THAT IS IT! the REG_EXPAND_SZ gave me the hint!

Thanks for noticing things written before

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"Desktop"="D:\\Documents and Settings\\Administrator\\Desktop"

wb should read 0x1 or 0x2 values from there.
ps: Keep in mind, it could be also elsewhere with other user settings with reg_expand_sz with something like %USERPROFILE%\DesktopNewFolder

and before..

further:
no problem using "Shell Folders" :cheers: , It is a good place to (only) read values which is required by wb. Issue fixed hardly but forever. :cheers:

#60 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 04:40 PM

Peter are you sure that you've fixed the copyorexpand problem?

This is one of the warnings that i've got. (Still with CAPIv8)

(Common_api.script) Syntax was not valid: [CopyOrExpand,#2\#9,#3,#4,#5]


Also is it normal to get a bunch of RegHiveUnLoad - Failed after a build stops due to an error?

(xpe-pnp-aio.script) FileDelete - Failed to delete [%BaseDir%\Projects\NaughtyPE\Drivers\InfCacheBuild.exe]: Das Handle ist ungültig
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_default]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_setupreg_hiv]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_setupreg_hiv]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet


Autosave reacts like on is selected in options thought ask is.

:cheers:

#61 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 04:56 PM

Peter are you sure that you've fixed the copyorexpand problem?

This is accepted as correct:
[process]

Run,%ScriptFile%,bla,ACLUI.DLL,%source_sys%,%target_win%,NOWARN,PRESERVE



[bla]

CopyOrExpand,#2\#1,#3,#4,#5
If one of the arguments #4 or #5 is different from NOWARN or PRESERVE, the syntax warning comes up.
(I do not know what the API delivers)

Also is it normal to get a bunch of RegHiveUnLoad - Failed after a build stops due to an error?

No that should not happen.
Do you have the log of the failing script?

Autosave reacts like on is selected in options thought ask is.

For me it works as intended.
When you have changed the source and leave by red x:
On: changes are saved automatically
Off: Changed are discarded
Ask: Dialog asking whether to save.

What do you assume how it should work?

Peter

#62 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 05:09 PM

Also is it normal to get a bunch of RegHiveUnLoad - Failed after a build stops due to an error?

Here my test:
[Process]

RegHiveLoad,WB-Software,%target_sys%\config\software

RegHiveLoad,WB-Default,%target_sys%\config\default

RegHiveLoad,WB-Setup,%target_sys%\setupreg.hiv

RegRead,HKLM,%WB-Setup%\PSCC,Command0,%var%

RegHiveUnLoad,WB-Software

RegHiveUnLoad,WB-Default

RegHiveUnLoad,WB-Setup
And it works as intended. The log:

[Info] File [%BaseDir%\Projects\nativeEx_barebone\CodeBox.txt] Version [1]

[Success] AddVariables - Added section [ApiVar] from file [%BaseDir%\Projects\nativeEx_barebone\Basic\Build\Common_Api.script] into the local variable list
[Success] RegHiveLoad - File: [%BaseDir%\Target\nativeEx_barebone\I386\System32\config\software] Section [WB-Software]
[Success] RegHiveLoad - File: [%BaseDir%\Target\nativeEx_barebone\I386\System32\config\default] Section [WB-Default]
[Success] RegHiveLoad - File: [%BaseDir%\Target\nativeEx_barebone\I386\System32\setupreg.hiv] Section [WB-Setup]
[Failed] RegRead - Failed to read specified key from: [HKLM]Section: [%WB-Setup%\PSCC] Key: [Command0] to variable:: [%var%]
[Success] RegHiveUnLoad - Unloaded registry hive: [WB-Software]
[Success] RegHiveUnLoad - Unloaded registry hive: [WB-Default]
[Success] RegHiveUnLoad - Unloaded registry hive: [WB-Setup]

[Done] Finished processing script: CodeBox test

[Clock] Script time: 640 miliseconds

[Done] Script has been sucessfully processed!

I got a lot of errors, too, when I tried the same using the API.

But that is a question for API, not for WinBuilder.

Peter

#63 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 05:23 PM

No that should not happen.
Do you have the log of the failing script?

Here it is. Attached File  log.rar   107.55KB   369 downloads

For me it works as intended.
When you have changed the source and leave by red x:
On: changes are saved automatically
Off: Changed are discarded
Ask: Dialog asking whether to save.

What do you assume how it should work?

It should work just the way you describe it.
However it does not for me.
I put WB into a fresh folder and ran it.
It behaves like ON would be selected, but the default ASK is. :cheers:
Only after i once changed the selected option, WB behaves like what is selected. Guess WB get's initialized with the wrong value for default.

:cheers:

#64 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 05:25 PM

Only after i once changed the selected option, WB behaves like what is selected. Guess WB get's initialized with the wrong value for default.

Thanks!

I'll change.

Peter

#65 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 06:33 PM

Here it is. Attached File  log.rar   107.55KB   369 downloads

Thanks and sorry, I need also your actual xpe-pnp-aio.script.

I think, that is a script fault.
On the first view from the log, inside this script the hives are unloaded several lines before the error occurs.
And after the error you want to unload again.

But it is difficult to decide from the log. Therefore I need the script

Peter

#66 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 07:32 PM

Ok, here it is.
Attached File  xpe_pnp_aio.rar   141.86KB   351 downloads

:cheers:

#67 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 07:55 PM

Ok, here it is.
Attached File  xpe_pnp_aio.rar   141.86KB   351 downloads

:cheers:

Thanks Medevil!

I now understand what happens.

But it will take a while to build a test script which reproduces that...
Tomorrow!

Peter :cheers:

#68 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 08:41 PM

new version on trash

added - error in RegHiveLoad when the hive is already mounted

To explain Medevil's issue:

Anywhere in the project a hive is mounted by a script which is already mounted.

Right now winbuilder does not care, because with / without double mounting the internal status is identic.

BUT: every mount increases a 'mountedHives' counter.

When an error occurs and the 'mountedHives' counter is not zero, WB scans the following lines / scripts and does ONLY unmounting hives, until the 'mountedHives' counter is zero.

Here the 'mountedHives' counter is not zero, but there is no hive to unmount!

So every RegHiveUnload brings an error.

Solution:
It would be possible to supress the error in such a case.

But that would allow erroneous scripts.

Therefore since now:

The trial to mount an already mounted hive, fires an error.


Medevil, please try the latest trash for your project, and hopefully it will stop anywhen with the 'double mount' line.

Peter

#69 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 08:58 PM

Those error reporting routines of WB are a great help!
It's just not possible to read through all scripts line by line. :cheers:

:cheers:

#70 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 09:01 PM

Those error reporting routines of WB are a great help!
It's just not possible to read through all scripts line by line. :cheers:

:cheers:

I hope my theory is correct ;) ;) :cheers:

Peter

#71 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 09:07 PM

Peter you've fixed the wrong part at the autosave problem. :cheers:
The default used to be ASK. Now it is ON.

:cheers:

#72 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 09:08 PM

Peter you've fixed the wrong part at the autosave problem. :cheers:
The default used to be ASK. Now it is ON.

:cheers:

I was sure to default to "ASK"

Peter ;)

#73 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 09:38 PM

I've run the whole project again. Used the the option to 'not stop on error' to log all errorous load commands (or the missing unload commands :cheers:).
I did get a single error. ;)
How can a single double load lead to, i think 6 'can not unloads'?

Attached File  log.rar   120.79KB   510 downloads

:cheers:

#74 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 11 February 2010 - 09:50 PM

I've run the whole project again. Used the the option to 'not stop on error' to log all errorous load commands (or the missing unload commands :cheers:).
I did get a single error. :cheers:
How can a single double load lead to, i think 6 'can not unloads'?

Attached File  log.rar   120.79KB   510 downloads

:cheers:

HURRRRRRAH :rofl:

You got the erroneous script.

I think you did not understand completelly what happened before, let me try to explain with other words:

Hive X mounted > count 1
Tried to mount Hive X again. Not done because not necessary. But a bug increased count to 2
Hive X unmounted > count 1
Error: Because count > 0, loop through next script command lines / scripts searching RegHiveUnload to unmount all open hives (means until count = 0):

Found RegHiveUnload #1: Tries to unmount, error because it is not mounted. count still 1
Found RegHiveUnload #2: Tries to unmount, error because it is not mounted. count still 1
Found RegHiveUnload #3: Tries to unmount, error because it is not mounted. count still 1
Found RegHiveUnload #4: Tries to unmount, error because it is not mounted. count still 1
...

BTW: Now on second attempt an error message, no increase of count, therefore no 'unmount' loop

Peter

#75 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7771 posts

Posted 11 February 2010 - 10:02 PM

First thanks for the fix of the Line feed in description. :cheers:

No i understood you just fine the first time, the thing is, the explaination does not fit with the error messages.

Last Build:

(Explorer shell - Tweaks and Settings) RegHiveLoad - Failed to load registry hive: [Tmp_default] From file: [%BaseDir%\Target\NaughtyPE\i386\System32\Config\default]


The prematurely exited Build:

(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_default]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_setupreg_hiv]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_setupreg_hiv]: Der Vorgang wurde erfolgreich beendet
(XPE - pnp multimedia) RegHiveUnLoad - Failed to unload registry hive: [Tmp_software]: Der Vorgang wurde erfolgreich beendet


As you can see, there weree also other hives too often unloaded, which never got 'doubleloaded' acording to newest Trash. :cheers:

:cheers:




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users