UWP application Client Machine System Requirements - c#

Helo,
I am developing UWP Application.
Trying to install build (by Side loading) in various systems.
All systems are windows 10 only, but having different processors. Some systems supporting with Debug mode generated builds and some systems supporting with Release mode generated builds. I am unable to track this issue. Why can't single mode build (whether it may be Debug or Release mode) supporting for all windows 10 systems. Can any one tell me what are the client system requirements for installing and working with UWP applicatiton.
Below is my client machine system specifications
And I have generated build in Release mode by selecting both 64 and 32 bit, after side loading I got files like below
Application installing successfully, but when i am trying to open it's getting crash.
I have observed one change In Client Machine.
Marked one getting extra in Packages folder.
I have verified windows log, it's showing below error.
Activation of app fb23829-a660-4c2e-88df-bc3c735654f7_a2ct2483cqfyg!App failed with error: The remote procedure call failed. See the Microsoft-Windows-TWinUI/Operational log for additional information.

After so many trails I came to know that if target machine having i3 processor then at the time of generating the build we should select only one type i.e., either it may be 32 bit or 64 bit. if we select both then application will Crash.

Related

C# project runs into issues when deploying on other machines

Learning C# as I go along with managing an existing project given to me. I've noticed there seem to be deployment issues when I build from my windows 10 machine and set up the application on a user's Windows7 machine
Issues such as:
-Getting null pointer errors
-when saving word docs automatically, instead a save dialog box appears
I cannot for the life of me recreate the issues on my machine.
From what I see,
I use Windows 10 64bit with 32bit Microsoft Office
They use Windows 7 64bit with 32bit Microsoft office
We both have .NET v3, v3.5, v4.0.3... and the project is in v4
I can't help but think it is OS related issue I need to account for but I don't know whether I can trust this due to my lack of experience
Can anyone give some advice
My current plan is, since the users are not very accessible, I will try and get a laptop that replicates theirs. Then, if I can recreate the error on there, then i will install visual studio remote debugger and try to attach this external process and debug from my side. Mostly this is my only plan which is a long shot at best
It sounds like you're dealing with Office automation/addins. I would imagine that the version of Office is very important -- not just 32 bit vs 64 bit, but the specific build and version of Office/Word.
Recreating the error is key, as you suspect. Try setting up a Windows 7 VM on your PC with the same environment that the users have. This will make it easier for you to reproduce and debug the issue.
You also need to know the exact sequence of steps that causes the error, and if possible, you will need a copy of the document the user was working on.

c# invalid win32 application

Okay so I've read about, tried fair few solutions but still haven't managed to resolve this problem.
My application when testing on a 32bit machine (I've only tested on 1) instantly crashes on startup with invalid 32 application and no other error messages or information for guidance.
The application is a c# .NET 4.5.2; built in visual studio 2017. I've set it to X86 in the build configuration and the application runs on my 64bit development machine.
For test purposes I made a 32bit windows 7 virtual machine, built the solution and copied everything in the output bin folder to this virtual 32bit windows 7 machine. It runs fine, as expected. However, if I copy that exact folder to the physical 32bit machine, it crashes saying invalid 32bit application.
I even put a condition in to check the IntPtr.Size is 4, to assure my application is running in 32bit.
That made me think maybe a resource is built in 64bit, but if thats the case why would it run in the 32bit virtual environment. O.o
I'm going to try and find another physical 32 bit machine to test on.
Any guidance on how I can troubleshoot, or retrieve more information on the error would be great.
The physical machine has dot net 4.5.2 installed and 99.99% sure vcredist_x86 is also installed.
Not sure why my question has been negative points... But this has now been resolved.
The problem was that Team-viewer was corrupting the files somehow while transferring them. I tried to transfer the files zipped and noticed that the zip was strangely small and not opening. So I went into the office and did the swap by USB and BAM. Working. Annoying or what.

Load Oracle Instant Client at runtime

I'm writing a Windows Forms ClickOnce application that uses the Oracle Instant Client to connect to the DB, because installing the full client on our users' machines is not an option. Unfortunately, our users have a mix of 32 and 64 bit machines. While the application itself is AnyCpu, the Oracle libraries are not.
Right now, we are distributing two copies of the client, with the only difference being the Oracle DLLs -- 32-bit DLLs for 32-bit users, and 64-bit DLLs for 64-bit users.
Just as an experiment, I tried releasing a client with both sets of DLLs, in separate directories, which determines the host OS's bitness at runtime and then loads the DLLs using LoadLibrary. This works, but only sort of.
On 64-bit systems, an error box pops up saying, "The program can't start because oranls11.dll is missing from your computer". When I click "Ok" to dismiss the box, the program starts up and runs normally. Adding oranls11.dll to the list of DLLs to load causes two copies of the message box to pop up, one after the other.
So, is there a better way to load the Oracle Instant Client ? If not, is there a way to suppress that message box, at least ?

Run Oracle Client in 32-bit mode on a 64-bit machine

I have just moved from a 32-bit Windows 7 desktop to a 64-bit Windows 7 Laptop. We have a C# program that we are developing that contains approximately 60 projects within the solution. I keep getting the following error whilst trying to build:
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed
Obviously the error is quite self explanatory and I am trying to get my whole solution to load in 32 bit mode. I have gone through every single project and set the target platform to x86 but I am still getting this error. I have searched Google and seen countless different approaches, but I cant seem to fix this problem. What is the best way to ensure my project is running in 32-bit mode on a 64-bit machine?
I am using Visual Studio 2008. I am currently considering downgrading to 32-bit but really want to avoid having to do this.
I found that you have to install the 32-bit Oracle client (you can download the installer from their website) even if you are running on a 64-bit machine.
In addition, during the discussions people were talking about 32-bit mode etc. This is how you can check / set that for an IIS 7 hosted application. You shouldn't need to change this but I have added here for completeness / future reference.
Launch IIS 7 and expand the server name node.
Click on Application Pools node and find the
application Pool you are using.
On the right-hand panel click Advanced Settings...
In the pop-up box that appears check Enabled 32-Bit Applications setting which is third option from the top.
You have to change your main .exe file to run only as 32-bit. You can do this in Visual Studio - just change Platform target from "Any CPU" to "x86".
If this is not possible, use corflags.exe which forces an existing exe to be a 32-bit application.
I have been struggling with this issue for months now and finally solved it. I think all the posts are helpful, but I had one missing piece. I didn't have a Microsoft ODBC for Oracle instance setup for User DSN or System DSN. I'm working on a Windows 8 machine. So for me I had to go to the general windows search and type in ODBC and open the ODBC Data Source Administrator (32-bit). Check to see if you have a Microsoft ODBC for Oracle setup on the User DSN tab or the System DSN tab. If not click on Add and select Microsoft ODBC for Oracle. Fill out the info for your datasource you are trying to hit and click ok. Make sure to restart your computer and that is what finally worked for me. Hope this helps some of you.
You have to change your main .exe file to run only as 32-bit. You can do this in Visual Studio - just change Platform target from "Any CPU" to "x86".
https://msdn.microsoft.com/en-us/library/ms185328.aspx
In my case 64 bit Oracle client was installed on my machine but still giving same error. So, I have analyse that in my application go to Application right click go to ->Properties->Web tab
and uncheck the "Use IIS Express" option if you are using local IIS Web server.
Problem got solved.

Getting the error "The 'VFPOLEDB.1' provider is not registered on the local machine" even after installing and registering the provider

Alright, so I've got a Windows service that has a FileSystemWatcher that watches an output folder for some Visual FoxPro database files. And it leverages the VFPOLEDB.1 provider to read those files. I cannot go away from this provider because it's being used in production.
However, I've never had to support this application before so that's why my development box isn't setup for it. Here is my environment:
Windows 7 x64
Visual Studio 2005
.NET 2.0 Windows service
so, when I first started getting the error I figured I just didn't have the provider at all, and I was right. So, I downloaded and installed it from here.
I then proceeded to drop the files in the folder again, but I got the same error.
I figured because it's an x64 machine I might be experiencing problems with it getting registered since it was probably dropped into SysWOW64, and it was as I expected, so I ran this command:
regsvr32 "C:\Windows\SysWOW64\mscomct2.ocx"
and it said it was successfully registered (which means about nothing LOL) but I dropped the files in again - same error.
I have not yet rebooted my machine, and I can if somebody has a compelling reason that's the problem, but generally speaking if the assembly is registered properly with regsvr32 that's not necessary. I've worked with a ton of COM objects and never have to reboot to get to the object as long as I've registered it.
Does anybody know another step I need to perform to get this thing registered?
It is registered as it should. It is your application that is compiled for AnyCPU Platform.
In x64 operating system this produces 64bit code and 64bit code could not access 32bit drivers.
Change your Platform to x86 and you will be fine.
EDIT
Two years later there is something to add to this answer. Now with Visual Studio 2013 the cheese has been moved. The article linked explain in great details how the compiler setup defaults has been changed. The AnyCPU target CPU with Prefer 32 bit means that your application works as 32bit app also in x64bit operating systems leaving practically no-room to x64 application unless specifically required.
With this new configuration becomes also important to remember what is posted in comments below by Mark Berry. If your (now 32bit) app needs to work in a IIS 64bit environment you need to set the Application Pool with Enable 32 bit Applications
I have desktop app (Win7 x64 VS 2015) - and kept getting the same error no matter what. I changed platform target to x86, installed MSI as admin etc - did everything I could google - and no luck. What helped me is to install MSI for Everyone instead of Just me - one of the last wizard's screen in the setup.
I have the same problem.
I install the VFP Ole DB Provider in my system and resolved.
download link
use Advantage OLE DB Provider,works for 32 or 64,here is the connection string

Categories

Resources