Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: AGAIN unhelpful errorcode!!

  1. #1

    Default AGAIN unhelpful errorcode!!

    Friedrich,

    I am now encountering a different error code returned on Run... but - since
    SB help tells me NOTHING about it what it means, I have no clue why!

    Again, I ask: please provide either
    a) text-readable info on error, or
    b) at the very least(!) a decoded list of what error codes mean in the
    SB help, or
    c) information as to where a suitable information list may be looked up
    for reference.

    What am I supposed to make of the attached? (if it is from a standard
    windows list, please tell us which one to inspect)

    Or, to put it another way, how is this error code supposed to help me find
    "my" script or program error?

    Steve
    Attached Images Attached Images  

  2. #2

    Default Re: AGAIN unhelpful errorcode!!

    The SB help says"If the function fails, the return value is a system error
    code. A return value of 259 means the application is still running!"


    Is this the (part-) list of system error codes to which you refer?

    1 Incorrect function.
    2 The system cannot find the file specified.
    3 The system cannot find the path specified.
    4 The system cannot open the file.
    5 Access is denied.
    [etc]

    But this lists 259 as "No more data is available".... Is this the same
    thing? Are we talking about the same list?

    (Which would then make "Access is denied" the relevant warning for me to
    follow up)

    I hope you see my point!
    Can we make this simpler., with a bit more info please?

    Steve

  3. #3

    Default Re: AGAIN unhelpful errorcode!!

    %_SB_RETURNEX% gives you all you need now.

    Hope this helps.

    --
    Friedrich Linder
    Lindersoft
    www.lindersoft.com
    +1.954.252.3910

    SetupBuilder "point. click. ship"
    Create Windows Vista ready installations in minutes

    -- Official Comodo Code Signing and SSL Certificate Partner

  4. #4

    Default Re: AGAIN unhelpful errorcode!!

    And I am not sure if you are talking about CreateProcess() or
    ShellExecuteEx().

    In the latest internal source codes, we have enhanced the ShellExecuteEx
    again. %_SB_RETURNEX% also returns the return value provided by sei.hInstApp
    now. So we can retrieve all possible error codes for CreateProcess and
    ShellExecuteEx (and the SE_ERR_XXX error value provided by ShellExecute).

    If you check MSDN for CreareProcess() and ShellExecuteEx() you'll see that
    there are different possible error code "lists" for different types of
    failures! So it is absolutely IMPOSSIBLE to provide a text-readable info on
    error!!!

    --
    Friedrich Linder
    Lindersoft
    www.lindersoft.com
    +1.954.252.3910

    SetupBuilder "point. click. ship"
    Create Windows Vista ready installations in minutes

    -- Official Comodo Code Signing and SSL Certificate Partner

  5. #5

    Default Re: AGAIN unhelpful errorcode!!

    > In the latest internal source codes, we have enhanced the ShellExecuteEx
    > again. %_SB_RETURNEX% also returns the return value provided by
    > sei.hInstApp

    If you look at the picture I supplied - you will notice that ReturnEx is
    ZERO here.. so out of the picture as far as diagnostics are concerned.



    > If you check MSDN for CreareProcess() and ShellExecuteEx() you'll see that
    > there are different possible error code "lists" for different types of
    > failures! So it is absolutely IMPOSSIBLE to provide a text-readable info
    > on error!!!

    And you'll notice that the SB Help does *NOT* say this!
    So how are we to know?



    > If you check MSDN for CreareProcess() and ShellExecuteEx() you'll see that
    > there are different possible error code "lists" for different types of
    > failures! So it is absolutely IMPOSSIBLE to provide a text-readable info
    > on error!!!

    Not at all! Either:
    1. Make it clear in the help that this is the case AND provide 2 x URLs to
    the lists in question, or
    2. Do as we do in Clarion when working between 'normal' file handling errors
    (ie where error code <> 0 but <> 90) and 'system' file errors, where if the
    first return text from ERROR, if the second return text from FILEERROR!

    Not hard at all <G>

    Hope this is clear.
    Steve

  6. #6

    Default Re: AGAIN unhelpful errorcode!!

    >> In the latest internal source codes, we have enhanced the ShellExecuteEx
    >> again. %_SB_RETURNEX% also returns the return value provided by
    >> sei.hInstApp
    >
    > If you look at the picture I supplied - you will notice that ReturnEx is
    > ZERO here.. so out of the picture as far as diagnostics are concerned.

    It's possible that %_SB_RETURNEX% has an incorrect value ("0") because
    sei.hInstApp is not handled in the current runtime when using
    ShellExecuteEx.

    --
    Friedrich Linder
    Lindersoft
    www.lindersoft.com
    +1.954.252.3910

    SetupBuilder "point. click. ship"
    Create Windows Vista ready installations in minutes

    -- Official Comodo Code Signing and SSL Certificate Partner

  7. #7

    Default Re: AGAIN unhelpful errorcode!!

    Hi Friedrich,

    > %_SB_RETURNEX% gives you all you need now.

    Would it be possible to have something like %_SB_ERROR_TEXT% that returned
    the value of FormatMessage() for the %_SB_RETURNEX% ?

    Best regards,

    --
    Arnór Baldvinsson - Icetips Creative, Inc.
    Port Angeles, Washington
    www.icetips.com - www.buildautomator.com

    Icetips product subscriptions at http://www.icetips.com/subscribe.php

  8. #8

    Default Re: AGAIN unhelpful errorcode!!

    Hi Arnór,

    > Would it be possible to have something like %_SB_ERROR_TEXT% that returned
    > the value of FormatMessage() for the %_SB_RETURNEX% ?

    The major problem here is that the FormatMessage() function can only be used
    to obtain error message strings for the system error codes returned by
    GetLastError. So if the error code is not returned from GetLastError, the
    call to FormatMessage would also not help.

    In the screenshot Steve posted, ReturnEx is 0. So FormatMessage would not
    help at all.

    But hey, no problem -- this is SetupBuilder ;-) See attached demo script
    and screenshot. The project can "translate" any GetLastError code for you.

    I assume Steve is using ShellExecuteEx (but I am not sure). I have enhanced
    error handling again and tomorrow, %_SB_RETURNEX% will also returns the
    return value provided by sei.hInstApp.

    Friedrich

    --
    Friedrich Linder
    Lindersoft
    www.lindersoft.com
    +1.954.252.3910

    SetupBuilder "point. click. ship"
    Create Windows Vista ready installations in minutes

    -- Official Comodo Code Signing and SSL Certificate Partner
    Attached Images Attached Images  
    Attached Files Attached Files

  9. #9

    Default Re: AGAIN unhelpful errorcode!!

    Hi Friedrich,

    > The major problem here is that the FormatMessage() function can only be used
    > to obtain error message strings for the system error codes returned by
    > GetLastError. So if the error code is not returned from GetLastError, the
    > call to FormatMessage would also not help.

    I know. And then you have the never ending question WHICH API call is the
    important one and you should grab the error from. Like in case of
    shellexecute or create process - if the program is waiting there might be no
    error in those api, but one in WaitForSingleObject or whatever else might be
    going on in that particular action - so which one is the important error

    Best regards,

    --
    Arnór Baldvinsson - Icetips Creative, Inc.
    Port Angeles, Washington
    www.icetips.com - www.buildautomator.com

    Icetips product subscriptions at http://www.icetips.com/subscribe.php

  10. #10

    Default Re: AGAIN unhelpful errorcode!!

    Hi Arnór,

    > I know. And then you have the never ending question WHICH API call is the
    > important one and you should grab the error from. Like in case of
    > shellexecute or create process - if the program is waiting there might be
    > no error in those api, but one in WaitForSingleObject or whatever else
    > might be going on in that particular action - so which one is the
    > important
    > error

    Yes, absolutely

    And to make it even more complicated, you also have to find a way to handle
    return codes passed from the executed application back to the installer.
    Running an application and handling the "return values" is a very complex
    task.

    For example, the following from a standard Microsoft .NET 3.0 Framework
    redistributable:

    0 = The action completed successfully.
    1602 = The user canceled installation.
    1603 = A fatal error occurred during installation.
    1605 = This action is valid only for products that are currently installed.
    1636 = The patch package could not be opened or the patch was not applicable
    to the .NET Framework 3.0.
    1639 = Invalid command line argument.
    1641 = The installer has initiated a restart. This indicates success, and
    setup will continue after restart. (The reboot is not performed if
    he /norestart option was specified.)
    1643 = The patch package is not permitted by system policy.
    3010 = A restart is required to complete the installation. This message
    indicates success.

    Let us assume, the .NET installation needs a restart and returns 3010.

    %_SB_ERRORCODE% is 3010
    %_SB_RETURNEX% is 0

    So in this case, even a return value of 3010 means "success".

    --
    Friedrich Linder
    Lindersoft
    www.lindersoft.com
    +1.954.252.3910

    SetupBuilder "point. click. ship"
    Create Windows Vista ready installations in minutes

    -- Official Comodo Code Signing and SSL Certificate Partner

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •