locked
Deploy for testing

    Question

  • After building the C++ GridView template application (unchanged) for Win32 and creating an x86 local deployment package, we are unable to install it on x86 machines using the created BAT file. The development license is accepted, but following message is displayed:

    Cannot install package
    Microsoft.VCLibs.110 because the package requires
    architecture x64, but this machine is architecture x86

    Why is the package using x64 components when it was built for x86?

    Tuesday, March 06, 2012 12:02 AM

Answers

  • Hi cdunford,

    When we use VS11 generate the APP deploy package in a 64bit Windows, both x64 and x86 VClib assemblies are copied into .\Dependencies folder, even your target configuration is Win32(x86).

    The Add-AppexDevPackage is a powershell script file which help you deploy the application to the Metro desktop. It also will help install all the framework packages contained in .\Dependencies.

    Since both 64bit and 32bit packages are in .\Dependencies, the script will try to install them one by one. If we deploy the app in 32bit windows, the following error will be shown, which is expected.

    You can skip this message and the application should be deployed correctly.

    If you want override such message, you can just remove the 32bit assembly from .\Dependencies folder.

    Regards,

    Yi


    Yi Feng Li [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by cdunford Thursday, March 08, 2012 9:19 PM
    Thursday, March 08, 2012 6:57 AM
  • Removing the x64 package resolved the problem.

    I want to emphasize, though, that this issue wasn't just the message--the app did not install correctly with the x64 package present. It would not install until the package was removed.

    Thanks for the help.

    • Proposed as answer by Li Shao [MSFT] Thursday, March 08, 2012 11:51 PM
    • Marked as answer by cdunford Wednesday, April 11, 2012 6:56 PM
    Thursday, March 08, 2012 9:22 PM

All replies

  • Your terminology doesn't quite match what is in the Consumer Preview and VS11 beta, so I'm not sure if you were paraphrasing or if you're doing something different. Are you writing a Metro style app with Visual Studio 11 Beta on the Windows 8 Consumer Preview? When you say you create a deployment package do you mean you are creating an app package? Can you provide exact repro steps?

    When I create a default C++ Metro style Grid Application, build it for x86, and then go to Project.Store.Create App Package... and create an x86 Debug (Any CPU) package I get the expected x86 package. Do you get something different? Or does the problem occur when you take that x86 package and try to install it on a different system?

    C:\test\GridTest\GridTest\AppPackages>dir
     Volume in drive C is OSDisk
     Volume Serial Number is 1E4B-1DF1
    
     Directory of C:\dev\GridTest\GridTest\AppPackages
    
    03/05/2012  05:26 PM    <DIR>          .
    03/05/2012  05:26 PM    <DIR>          ..
    03/05/2012  05:26 PM            53,089 GridTest_1.0.0.0_x86_Debug.appxupload
    03/05/2012  05:26 PM    <DIR>          GridTest_1.0.0.0_x86_Debug_Test
                   1 File(s)         53,089 bytes
                   3 Dir(s)  444,006,256,640 bytes free
    --Rob
    Tuesday, March 06, 2012 1:36 AM
    Owner
  • We're building the unchanged grid application on an x64 machine under Win8 Consumer Preview using the VS11 beta. We build the Win32 debug version, then use Project.Store.Create App Package, select "use locally only", then x86 Debug (although ours says "Win32, not "Any CPU"). The package is created as we expect.

    The problem occurs when we attempt to install on a different machine, which happens to be 32 bits.

    Tuesday, March 06, 2012 2:16 AM
  • Hi cdunford,

    When we use VS11 generate the APP deploy package in a 64bit Windows, both x64 and x86 VClib assemblies are copied into .\Dependencies folder, even your target configuration is Win32(x86).

    The Add-AppexDevPackage is a powershell script file which help you deploy the application to the Metro desktop. It also will help install all the framework packages contained in .\Dependencies.

    Since both 64bit and 32bit packages are in .\Dependencies, the script will try to install them one by one. If we deploy the app in 32bit windows, the following error will be shown, which is expected.

    You can skip this message and the application should be deployed correctly.

    If you want override such message, you can just remove the 32bit assembly from .\Dependencies folder.

    Regards,

    Yi


    Yi Feng Li [MSFT]
    MSDN Community Support | Feedback to us

    • Marked as answer by cdunford Thursday, March 08, 2012 9:19 PM
    Thursday, March 08, 2012 6:57 AM
  • Removing the x64 package resolved the problem.

    I want to emphasize, though, that this issue wasn't just the message--the app did not install correctly with the x64 package present. It would not install until the package was removed.

    Thanks for the help.

    • Proposed as answer by Li Shao [MSFT] Thursday, March 08, 2012 11:51 PM
    • Marked as answer by cdunford Wednesday, April 11, 2012 6:56 PM
    Thursday, March 08, 2012 9:22 PM