Native App packaged via Packaging Project and distributed via Windows App Store.
Do you have a way to ship both the x64 and x86 dlls and have the
application decide which gets loaded? (I believe this is what SQLite
does). I’ve got a native app that is packaged via a ‘Packaging
Project’ and is then distributed via the Windows App store. Because of
this distribution method, I cannot ship two separate installers and I
can also not install anything to the GAC. This limits me to shipping
just 32 bit.
I manually edited my .csproject and added the following:
<ItemGroup Condition=" '$(Platform)' == 'x86' "> <Reference Include="ChilkatDotNet46, Version=220.127.116.11, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09be, processorArchitecture=x86"> <SpecificVersion>False</SpecificVersion> <HintPath>..\libs\Chilkat\x86\ChilkatDotNet46.dll</HintPath> </Reference> </ItemGroup> <ItemGroup Condition=" '$(Platform)' == 'x64' "> <Reference Include="ChilkatDotNet46, Version=18.104.22.168, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09be, processorArchitecture=x64"> <SpecificVersion>False</SpecificVersion> <HintPath>..\libs\Chilkat\x64\ChilkatDotNet46.dll</HintPath> </Reference> </ItemGroup>
So far this seems to be working fine – as long as I don’t use ‘Any CPU’ (which would probably work if I did the prefer x84, but I don’t want to confuse things further).
The packaging project for the app store generates a subfolder for x86 and x64 which each contains duplicate content for both x86/x64 except for the Chilkat.dll. It seems that this will do the trick!
Thanks again for the great libraries.