none
IE 8 KB974455 causing an error with VBScript window.returnvalue

    Question

  • We have several asp pages that get a return from a vb script file that now throw an error once KB974455 is installed.  The specific line of code is as follows:

    window.returnvalue =

    Array(obj1,obj2,obj3,obj4,obj5)

    The Array function seems to be working correctly but the window.return is no longer accepting an Array as a valid return type. 

    The systems that are having this problem are running XP SP3 with IE 8 and KB974455 installed as well. 

    Has anyone else had this issue and have you had an success in resolving it?

    Wednesday, October 14, 2009 8:43 PM

All replies

  • We just encounter this problem,too. When using the showModalDialog, the window.returnvalue cann't be assigned a value which is a array. It happens with both vbscript and jscript.
    Thursday, October 15, 2009 5:32 AM
  • We encountered this issue, too. :x
    Thursday, October 15, 2009 7:01 AM
  • Me too... ><...
    Thursday, October 15, 2009 7:03 AM
  • Here too. The problem renders popup windows from a large web-based CRM/HRM/ERP enterprise system useless.
    The IT department has been busy reverting this patch from all the workstations.

    Thursday, October 15, 2009 7:31 AM
  • We encountered similar errors in our application as well after KB974455 was installed.
    If we roll back the patch, the errors will be gone.

    From our observations, the errors occured when we use Arrays in in the VBS for:

    (1)    Fails when we  try to assign an array to window.returnValue()
    (2)    Fails when we pass an array into window.showmodaldialog()

    Returning a Dimmed array or Array() failed.
    However it is fine when we return it as a String or use Javascript instead.

    Kudos to skeevs, Riz, Zero and Lun for finding this out together.

    Thursday, October 15, 2009 9:46 AM
  • It seams to work good if you login with a local administrator for me.
    But not with other accounts that uses roaming profile.
    Thursday, October 15, 2009 10:45 AM
  • Looks like we are in the crowd of companies that this affects also.   This problem is also posted on
    http://forums.devshed.com/scripts-94/vbscript-unable-to-assign-array-to-windows-resultvalue-aftr-windows-646375.html#post2347557


    Thursday, October 15, 2009 1:42 PM
  • We have the same problem on servers now that arnt patched, so i wounder if this could be because of the other servers that are connectiong to have that patch installed, since it only effects ie 7 not ie 8, but seams only we get it when we login with roaming profile.
    Thursday, October 15, 2009 2:36 PM
  • We had the same issue.
    Uninstalling the KB resolves the issue but we are looking for a better fix!

    Cheers
    Thursday, October 15, 2009 2:37 PM
  • We have the same problem on servers now that arnt patched, so i wounder if this could be because of the other servers that are connectiong to have that patch installed, since it only effects ie 7 not ie 8, but seams only we get it when we login with roaming profile.

    I'm seeing this problem on IE6, 7 & 8.

    How can I remove this from computers site wide?  All our 25 computers get updates directly from Windows Update and not Windows Server Update Services or Systems Management Server.

    Once removed, how can I block the update from coming back?

    Thursday, October 15, 2009 3:43 PM
  • Yep even we are getting the same error (IE-6 and IE-7).
    Thursday, October 15, 2009 4:32 PM
  • Yep, having the same problem. 
    Thursday, October 15, 2009 9:52 PM
  • We have the same problem on servers now that arnt patched, so i wounder if this could be because of the other servers that are connectiong to have that patch installed, since it only effects ie 7 not ie 8, but seams only we get it when we login with roaming profile.

    I'm seeing this problem on IE6, 7 & 8.

    How can I remove this from computers site wide?  All our 25 computers get updates directly from Windows Update and not Windows Server Update Services or Systems Management Server.

    Once removed, how can I block the update from coming back?

    WSUS: http://technet.microsoft.com/en-us/wsus/default.aspx
    • Proposed as answer by terminal_ben Friday, October 16, 2009 5:29 AM
    Friday, October 16, 2009 12:57 AM
  • I'm seeing this problem on IE6、IE7  and  IE8.
    Friday, October 16, 2009 2:40 AM
  • yes ,here too
    Friday, October 16, 2009 4:06 AM
  • should we expect a fix from MS, or we are on our own? I have the same problem :)
    Friday, October 16, 2009 4:11 AM
  • +1
    ...
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    Friday, October 16, 2009 8:05 AM
  • I had the same problem as well.
    I changed the every ASP code as little as possible; (1 line to 2 lines)

    Because Array can't be used from now, I changed the array to long string separated by unused character like ';'.


    ** callee:
       window.returnValue=arrayRecord

       ==>

       arrString = Join(arrayRecord, ";")
       window.returnValue=arrString

    ** caller
     out_array=window.showModalDialog( ~~~ )

      ==>

     arrTemp=window.showModalDialog( ~~~ )
     out_array = Split(arrTemp, ";")

    • Proposed as answer by sk.jang Friday, October 16, 2009 2:56 PM
    Friday, October 16, 2009 2:50 PM
  • We too are having to make a similar fix.  The only issue is that the impacted base of customers is > 8000.  MS needs to provide a fix for this -- or reimburse us for our development time and the customer's time to patch and overcome.
    Friday, October 16, 2009 5:13 PM
  • tanks! u saved my life!!! :D
    Friday, October 16, 2009 9:01 PM
  • I think we're own our own.  MS hasn't acknowledge the problem and if you Google/Bing the KB # only a handful of customers are effected/complaining.   
    Saturday, October 17, 2009 12:09 AM
  • It works......thanks.
    Monday, October 19, 2009 1:58 AM
  • We encounter this issue too.

    I uninstalled the KB from my computer and works. But we have more than 100 computers to uninstall. We use a CRM/HRM that can't modify. MS needs to provide a fix.

    greetings.
    Monday, October 19, 2009 10:01 AM
  • We encounter this issue too.

    I uninstalled the KB from my computer and works. But we have more than 100 computers to uninstall. We use a CRM/HRM that can't modify. MS needs to provide a fix.

    greetings.

    Can't modify because you don't own the source code?  I would contact the people that wrote the software.

    Monday, October 19, 2009 10:42 PM

  • Can't modify because you don't own the source code?  I would contact the people that wrote the software.

    We can modify some code, but we can't rewrite entire Pivotal CRM.
    We've already contacted CDC Software, but seems to be no solution exist at all.


    Tuesday, October 20, 2009 12:18 PM
  • MS has acknowledged the problem:
    http://support.microsoft.com/kb/976749/

    Tuesday, October 20, 2009 4:17 PM
  • MS has acknowledged the problem & recommends a solution to convert VB Script arrays in JavaScript Array.

    It recommneds converting code like this,

    // TYPE MISMATCH
    <script LANGUAGE=vbscript>
    Option Explicit
    Sub Window_OnLoad
    Dim abc(1,2,3)
    Window.ReturnValue = abc
    End Sub
    </script>

    To This,

    <script Language=JavaScript>
    function setReturnValue(){
    var returnValueArray= new Array();
    returnValueArray[0] = 1;
    returnValueArray[1] = 2;
    returnValueArray[2] = 3;
    window.returnValue = returnValueArray;
    }
    </script>

    <script LANGUAGE=vbscript>
    Option Explicit
    Sub Window_OnLoad
    setReturnValue()
    msgbox window.returnValue
    End Sub
    </script>


    which would work - as already pointed out by 'cycycy' in his post above.

    The problem that I am facing is I don't understand how I can convert the values which are currently present in the VB script array abc to a Javascript array returnValueArray. I am unable to pass the variable abc as a parameter to the setReturnValue.
    The only way I can think of is re-writing the entire code that generates the array in Java Script - is there a better way? Can I pass a VbScript array to a Javascript fucntion and use the values of the array in the function?
    Wednesday, October 21, 2009 7:34 AM
  • Yes, we can only modify some source code. The software is eSynergy and uses asp server.
    I will contact to eXact Software.

    thanks.
    Wednesday, October 21, 2009 7:43 AM
  • does not work

    original:
    <html>
    <head>
    <title>Pivotal Active Access</title>
    <script>
    function load( ) {
      RUIMaster.InitializeModal(window.parent.dialogArguments);
      window.contents.Centre.load();
    }
    function beforeunload(event) {
      if (RUIMaster != null)
        RUIMaster.OnBeforeUnload(event);
      return true;
    }
    </script>
    </head>
    <body onload="load()" onunload="window.parent.returnValue = RUIMaster.returnValue; RUIMaster.Destroy()" onbeforeunload="beforeunload(event)" style="margin: 0px; padding: 0px; overflow: hidden;">
    <p style="display: none;">
    <object classid="clsid:D2A79F4E-98D9-4b65-9858-A7A1A3DCF872" height="0" width="0" id="RUIMaster" VIEWASTEXT></object>
    <form><input id="id" type="hidden" value="" /></form>
    </p>
    <iframe name="AAMain" style="margin: 0px; border: 0px; padding: 0px;" id="contents" src="rdauimodal_frame.htm" width="100%" height="100%" frameborder="0" />
    </body>
    </html>




    modified:
    <html>
    <head>
    <title>Pivotal Active Access</title>
    <script Language=JavaScript>
    function load( ) {
      RUIMaster.InitializeModal(window.parent.dialogArguments);
      window.contents.Centre.load();
    }

    function unload( ) {
    var returnValueArray= new Array();

      returnValueArray= RUIMaster.returnValue;
        window.parent.returnValue = returnValueArray
      RUIMaster.Destroy();
    }


    function beforeunload(event) {
      if (RUIMaster != null)
        RUIMaster.OnBeforeUnload(event);
      return true;
    }
    </script>
    </head>
    <body onload="load()" onunload="unload()" onbeforeunload="beforeunload(event)" style="margin: 0px; padding: 0px; overflow: hidden;">
    <p style="display: none;">
    <object classid="clsid:D2A79F4E-98D9-4b65-9858-A7A1A3DCF872" height="0" width="0" id="RUIMaster" VIEWASTEXT></object>
    <form><input id="id" type="hidden" value="" /></form>
    </p>
    <iframe name="AAMain" style="margin: 0px; border: 0px; padding: 0px;" id="contents" src="rdauimodal_frame.htm" width="100%" height="100%" frameborder="0" />
    </body>
    </html>

    Sunday, October 25, 2009 1:36 PM
  • Hey,

    We're currently having the same issue and are having to rollback the update to get it working again.

    I have found what seems to be a utility to fix the issue.

    http://www.ietips.net/fix/fix-tool-launched-ie8/

    Has anyone else tried this out?
    Tuesday, October 27, 2009 1:55 AM
  • We have heard back from Microsoft about this.  From what they told our tech team they will be releasing a hot fix for this in the next month or so.
    Monday, November 02, 2009 8:34 PM
  • They seem to have already released an update that should fix the issue.

    http://support.microsoft.com/kb/976749

    Unfortunetly I have not tested it out here - also the link for IE 6 points to the wrong destination - though I guess they would fix the link soon!

    If anyone tries this out - let us know if it worked


    Cheers,
    Saif

    Tuesday, November 03, 2009 3:56 AM
  • They seem to have already released an update that should fix the issue.

    http://support.microsoft.com/kb/976749

    Unfortunetly I have not tested it out here - also the link for IE 6 points to the wrong destination - though I guess they would fix the link soon!

    If anyone tries this out - let us know if it worked


    Cheers,
    Saif



    After finding and installing the right fix I'm pleased to say that it Works!
    Specially in Pivotal CRM mentioned here...

    Regards,
    Leon.
    Tuesday, November 03, 2009 9:27 AM
  • After installing this fix it works.

    I tested on Server 2003 and XP SP3. Both with IE8.

    The software mentioned above (eSynergy) works fine.

    Regards,
    Tonio
    Wednesday, November 04, 2009 8:13 AM
  • MS has acknowledged the problem & recommends a solution to convert VB Script arrays in JavaScript Array.

    It recommneds converting code like this,

    // TYPE MISMATCH
    <script type="text/javascript"></script>

    To This,

    <script type="text/javascript"></script>

    <script type="text/javascript"></script>


    which would work - as already pointed out by 'cycycy' in his post above.

    The problem that I am facing is I don't understand how I can convert the values which are currently present in the VB script array abc to a Javascript array returnValueArray. I am unable to pass the variable abc as a parameter to the setReturnValue.
    The only way I can think of is re-writing the entire code that generates the array in Java Script - is there a better way? Can I pass a VbScript array to a Javascript fucntion and use the values of the array in the function?

    Thanks for releasing the info.
    Monday, December 20, 2010 3:36 AM