Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

How to report a bug to Microsoft for Visual Studio and .NET Framework setup

How to report a bug to Microsoft for Visual Studio and .NET Framework setup

  • Comments 3

Microsoft has created what I think is a really cool mechanism for customers to report bugs and suggestions for our products - the Product Feedback center.  Right now, you can report bugs in Visual Studio 2005 and the .NET Framework 2.0 via this website.  The bugs from this site are transformed into the correct format and then reported directly into the same database that VS and .NET Framework product teams use to report bugs against daily builds of the products as they are being developed.  There is also a really nice process put in place by the Developer Division community team (Josh Ledgard, et al) that ensures that bugs reported via the Product Feedback center are given special attention so they do not end up swept under the rug due to the lack of a repro in our test lab, and so they are all responded to in a timely (and hopefully professional) manner.

The Product Feedback site has increased the volume of bugs reported for VS and the .NET Framework, and in particular for setup (because setup is the first thing every customer sees in the product and because every customer must get through setup in order to use the product).

I posted this article that describes the steps that we recommend everyone follow when reporting a bug in setup for the various versions of Visual Studio and the .NET Framework.  Included in this article are links to full lists of log files that are created by setup for each version of VS and the .NET Framework.  I'll put those links here too to make them a little more visible:

I strongly encourage anyone who encounters a problem while installing or using VS or the .NET Framework and anyone who has a suggestion for how we can improve in the future to use the Product Feedback site.  If your problem appears setup-related, please take a quick look at this article and include the requested information in your bug report if possible (but don't skip reporting the bug because you can't find a log file or something like that).

For those of you who have already used the Product Feedback site, thank you very much!

 

  • A little while ago I wrote a post explaining how to report a bug in the .NET Framework and Visual Studio...


  • ======================
    MSI CA LOG ENTRY INFO:
    ======================

    09/01/05 09:59:56 DDSet_Entry: RunProcess started
    09/01/05 09:59:56 DDSet_Status: CustomActionData: "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\regtlibv12.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb";11
    09/01/05 09:59:56 DDSet_Status: Process returned 5
    09/01/05 09:59:56 DDSet_Error: The Commandline '"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\regtlibv12.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb"' returned non-zero value: 5.
    09/01/05 09:59:56 DDSet_CARetVal: 5
    09/01/05 09:59:56 DDSet_Exit: RunProcess ended

    CA NAME: 5


    ======================
    LAST 100 LINES INFO :
    ======================

    MSI (s) (18:D0) [09:59:54:125]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension,)
    MSI (s) (18:D0) [09:59:54:125]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\NodeTypes\{a841b6c3-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:125]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension Static Node,)
    MSI (s) (18:D0) [09:59:54:125]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\SnapIns\{fedb2179-2335-48f1-aa28-5cda35a2b36d},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:125]: Executing op: RegAddValue(Name=About,Value={7D23CCC6-A390-406F-AB67-2F8B7558F6F7},)
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegAddValue(Name=NameString,Value=ASP.NET Management Extension,)
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegOpenKey(Root=-2147483646,Key=SYSTEM\CurrentControlSet\Services\.NET Data Provider for Oracle\Performance,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegAddValue(Name=CategoryOptions,Value=#3,)
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegAddValue(Name=Counter Names,Value=#x480061007200640043006f006e006e0065006300740073005000650072005300650063006f006e0064000000480061007200640044006900730063006f006e006e0065006300740073005000650072005300650063006f006e006400000053006f006600740043006f006e006e0065006300740073005000650072005300650063006f006e006400000053006f006600740044006900730063006f006e006e0065006300740073005000650072005300650063006f006e00640000004e0075006d006200650072004f0066004e006f006e0050006f006f006c006500640043006f006e006e0065006300740069006f006e00730000004e0075006d006200650072004f00660050006f006f006c006500640043006f006e006e0065006300740069006f006e00730000004e0075006d006200650072004f00660041006300740069007600650043006f006e006e0065006300740069006f006e0050006f006f006c00470072006f0075007000730000004e0075006d006200650072004f00660049006e0061006300740069007600650043006f006e006e0065006300740069006f006e0050006f006f006c00470072006f0075007000730000004e0075006d006200650072004f00660041006300740069007600650043006f006e006e0065006300740069006f006e0050006f006f006c00730000004e0075006d
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegAddValue(Name=Library,Value=netfxperf.dll,)
    MSI (s) (18:D0) [09:59:54:140]: Executing op: RegAddValue(Name=Close,Value=ClosePerformanceData,)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegAddValue(Name=Open,Value=OpenPerformanceData,)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegAddValue(Name=IsMultiInstance,Value=#1,)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegAddValue(Name=Counter Types,Value=#x32003700320036003900360033003200300000003200370032003600390036003300320030000000320037003200360039003600330032003000000032003700320036003900360033003200300000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000003600350035003300360000000000,)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegAddValue(Name=Collect,Value=CollectPerformanceData,)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{99749841-0D55-4cf4-8D0D-F212ECE9409A}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:156]: Executing op: RegAddValue(,,)
    MSI (s) (18:D0) [09:59:54:171]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{99749841-0D55-4cf4-8D0D-F212ECE9409A}\InprocServer32,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:171]: Executing op: RegAddValue(Name=RuntimeVersion,Value=v2.0.50215,)
    MSI (s) (18:D0) [09:59:54:171]: Executing op: RegAddValue(Name=Assembly,Value=Microsoft.Vsa.Vb.CodeDOMProcessor, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,)
    MSI (s) (18:D0) [09:59:54:171]: Executing op: RegAddValue(Name=Class,Value=Microsoft.Vsa.Vb.CodeDOM.CodeDOMProcessor,)
    MSI (s) (18:D0) [09:59:54:171]: Executing op: RegAddValue(Name=ThreadingModel,Value=Both,)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegAddValue(,Value=C:\WINDOWS\System32\MSCorEE.dll,)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{A138CF39-2CAE-42c2-ADB3-022658D79F2F}\Programmable,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegAddValue(,,)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{A138CF39-2CAE-42c2-ADB3-022658D79F2F}\ProgID,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegAddValue(,Value=VsaVbRT.8.0,)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\NodeTypes\{a841b6c9-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension File Node,)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\NodeTypes\{a841b6c4-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:187]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension Machine Node,)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Microsoft\Windows NT\CurrentVersion\KnownManagedDebuggingDlls,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegAddValue(Name=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\mscordacwks.dll,Value=#0,)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Microsoft\Windows NT\CurrentVersion\KnownFunctionTableDlls,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegAddValue(Name=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\mscordacwks.dll,Value=#0,)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{A138CF39-2CAE-42c2-ADB3-022658D79F2F}\Version,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegAddValue(,Value=8.0,)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{A138CF39-2CAE-42c2-ADB3-022658D79F2F},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:203]: Executing op: RegAddValue(,Value=Microsoft Visual Basic Scripting Engine,)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\VsaVbRT.8.0,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegAddValue(,Value=VsaVbRT,)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Microsoft\Windows NT\CurrentVersion\MiniDumpAuxiliaryDlls,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegAddValue(Name=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\mscorwks.dll,Value=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\mscordacwks.dll,)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\NodeTypes\{a841b6c8-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension VDir Node,)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\MMC\NodeTypes\{a841b6c2-7577-11d0-bb1f-00a0c922e79c}\Extensions\PropertySheet,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegAddValue(Name={fedb2179-2335-48f1-aa28-5cda35a2b36d},Value=ASP.NET MMC Extension IIS Snap in,)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegOpenKey(Root=-2147483646,Key=SYSTEM\CurrentControlSet\Services\.NET Data Provider for Oracle\Linkage,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:218]: Executing op: RegAddValue(Name=Export,Value=2e,00,4e,00,45,00,54,00,20,00,44,00,61,00,74,00,61,00,20,00,50,00,72,00,6f,00,76,00,69,00,64,00,65,00,72,00,20,00,66,00,6f,00,72,00,20,00,4f,00,72,00,61,00,63,00,6c,00,65,00,00,00,00,00,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\CLSID\{99749841-0D55-4cf4-8D0D-F212ECE9409A},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(,Value=Microsoft.Vsa.Vb.CodeDOM.CodeDOMProcessor,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\Signature\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$Function,Value=SoftpubLoadSignature,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$DLL,Value=SOFTPUB.DLL,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\Message\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$Function,Value=SoftpubLoadMessage,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$DLL,Value=SOFTPUB.DLL,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\Initialization\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$Function,Value=SoftpubInitialize,)
    MSI (s) (18:D0) [09:59:54:234]: Executing op: RegAddValue(Name=$DLL,Value=SOFTPUB.DLL,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\FinalPolicy\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$Function,Value=CORPolicyEE,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$DLL,Value=mscorsec.dll,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\Certificate\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$Function,Value=WintrustCertificateTrust,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$DLL,Value=WINTRUST.DLL,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Cryptography\Providers\Trust\CertCheck\{31D1ADC1-D329-11D1-8ED8-0080C76516C6},,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$Function,Value=SoftpubCheckCert,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(Name=$DLL,Value=SOFTPUB.DLL,)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Installations\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_b7aeacd4\downlevel_manifest,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:250]: Executing op: RegAddValue(,,)
    MSI (s) (18:D0) [09:59:54:265]: Executing op: RegOpenKey(Root=-2147483646,Key=SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Installations\x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_fbb269db\downlevel_manifest,,BinaryType=0)
    MSI (s) (18:D0) [09:59:54:265]: Executing op: RegAddValue(,,)
    MSI (s) (18:D0) [09:59:54:265]: Executing op: ActionStart(Name=CA_DisableCancel_Install.3643236F_FC70_11D3_A536_0090278A1BB8,,)
    MSI (s) (18:D0) [09:59:54:437]: Executing op: CustomActionSchedule(Action=CA_DisableCancel_Install.3643236F_FC70_11D3_A536_0090278A1BB8,ActionType=1025,Source=BinaryData,Target=DisableCancel,)
    MSI (s) (18:54) [09:59:54:453]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI28.tmp, Entrypoint: DisableCancel
    09/01/05 09:59:54 DDSet_Status: LANGID: 1033
    MSI (s) (18:D0) [09:59:54:734]: Executing op: ActionStart(Name=DD_CA_ComregEnterpriseServicesRB_X86.3643236F_FC70_11D3_A536_0090278A1BB8,,)
    MSI (s) (18:D0) [09:59:54:969]: Executing op: CustomActionSchedule(Action=DD_CA_ComregEnterpriseServicesRB_X86.3643236F_FC70_11D3_A536_0090278A1BB8,ActionType=1281,Source=BinaryData,Target=QuietExec,CustomActionData="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\RegSvcs.exe" /bootstrapu;14)
    MSI (s) (18:D0) [09:59:54:969]: Executing op: ActionStart(Name=DD_CA_CLR_MOF_X86.3643236F_FC70_11D3_A536_0090278A1BB8,,)
    MSI (s) (18:D0) [09:59:54:969]: Executing op: CustomActionSchedule(Action=DD_CA_CLR_MOF_X86.3643236F_FC70_11D3_A536_0090278A1BB8,ActionType=3137,Source=BinaryData,Target=QuietExec,CustomActionData="C:\WINDOWS\System32\wbem\mofcomp.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\CLR.mof";CLR.mof;C:\WINDOWS\System32\wbem)
    MSI (s) (18:5C) [09:59:55:000]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI29.tmp, Entrypoint: QuietExec
    MSI (s) (18:D0) [09:59:56:251]: Executing op: ActionStart(Name=DD_CA_Regtlb_Microsoft.JScrip_X86.3643236F_FC70_11D3_A536_0090278A1BB8,,)
    MSI (s) (18:D0) [09:59:56:251]: Executing op: CustomActionSchedule(Action=DD_CA_Regtlb_Microsoft.JScrip_X86.3643236F_FC70_11D3_A536_0090278A1BB8,ActionType=1025,Source=BinaryData,Target=QuietExec,CustomActionData="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\regtlibv12.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb";11)
    MSI (s) (18:C8) [09:59:56:298]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI2B.tmp, Entrypoint: QuietExec
    09/01/05 09:59:56 DDSet_Status: LANGID: 1033
    09/01/05 09:59:56 DDSet_Entry: RunProcess started
    09/01/05 09:59:56 DDSet_Status: CustomActionData: "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\regtlibv12.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb";11
    RegisterTypeLib of C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb failed : 8002801c
    09/01/05 09:59:56 DDSet_Status: Process returned 5
    09/01/05 09:59:56 DDSet_Error: The Commandline '"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\regtlibv12.exe" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\Microsoft.JScript.tlb"' returned non-zero value: 5.
    09/01/05 09:59:56 DDSet_CARetVal: 5
    09/01/05 09:59:56 DDSet_Exit: RunProcess ended
    MSI (s) (18:D0) [09:59:56:986]: User policy value 'DisableRollback' is 0
    MSI (s) (18:D0) [09:59:56:986]: Machine policy value 'DisableRollback' is 0
    Action ended 09:59:56: InstallFinalize. Return value 3.
    MSI (s) (18:D0) [09:59:57:049]: Executing op: Header(Signature=1397708873,Version=300,Timestamp=857821024,LangId=0,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
    MSI (s) (18:D0) [09:59:57:049]: Executing op: DialogInfo(Type=0,Argument=0)
    MSI (s) (18:D0) [09:59:57:049]: Executing op: DialogInfo(Type=1,Argument=Microsoft .NET Framework 2.0 Beta 2)
    MSI (s) (18:D0) [09:59:57:049]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
  • Hi Umesh - this error is the one I describe at http://blogs.msdn.com/astebner/archive/2005/08/28/457416.aspx. You can download a patched version of the .NET Framework 2.0 beta 2 setup that has a fix for this at http://astebner.sts.winisp.net/Tools/netfx20_beta2.zip.

    Hope this helps....
Page 1 of 1 (3 items)
Leave a Comment
  • Please add 4 and 6 and type the answer here:
  • Post