How to use the Windows File System from a Xamarin Application running on Windows - xamarin

I have a Xamarin app that runs on Android, IOS and Windows 8.? It is essentially a “player” to display a proprietary document format. Formatting the documents so they look good on a small screen is a trial and error process. Essentially: Edit; Compile; Transfer to mobile; View; repeat;
To speed up this process, I am trying to build an emulator. I am using the Windows version of the app as a base for the emulator (because if I stay in Xamarin, I don’t have to rewrite all the code for Windows Forms)
The compiler is a Windows app. After compiling I know exactly where the file is located. When I run the emulator, it does not give me access to the Windows file system. I tried using PCLStorage Library. It stored the file here:
C:\Program Files\OpenSSH\home\30011765\AppData\Local\Packages\85930d70-750c-41a6-9b95-03faaed4159c_nh7s0b45jarrj\LocalState\ZDO\dev
I specified this part \ZDO\dev but have no idea how it selected the rest. Like why OpenSSH?
Question: Given this app is only going to run on Windows, is there a way to load a file as C:... ?
If not, is there another way for a Windows Forms App to share a file with a Xamarin Windows App?
I’ve spent several hours searching for a working example solution and have yet to find one.

Related

Android Emulator UI too large on Windows 10 20H2

I am using Android Studio 4.1.1 on Windows 10 20H2 with Hyper-V enabled on a computer with high DPI. Recently whenever I launch an AVD, the UI of the emulated device window becomes extremely large and impossible to use (as in the following screenshot). Other windows (including the AVD manager and the Android Studio itself) remains normal.
I have not used the emulator for a while, but I can make sure that the UI issue did not exist before I update my Windows to 20H2. I have also found similar questions on Stack Overflow (including this question), but the existing answers suggesting overriding its high DPI behavior does not work for me, because when I apply this setting, the emulator screen becomes so blurry that I cannot even recognize the texts on the screen.
How can I solve (or work around) this issue? Any help will be appreciated.
You can fix the scaling issue when using the Hardware rendering by simply making windows override the scaling setting. How?, it's very easy. Simply locate the .exe file for the emulator that you are using, (e.g. "qemu-system-armel.exe" for ARM and "qemu-system-x86_64.exe" for x86). To make sure which .exe file, just run the emulator then use task manager to locate the .exe file is running, see the screenshot. locate the .exe file using task manager
In my case it was in this location:
C:\Users[Username]\AppData\Local\Android\Sdk\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe

Android Studio - Cannot Lock System Folders Problem - MAC OS X

Recently I am not successding to start my Android Studio on my MAC OS, despite I had used it several times without problem.
Recently when I attempt to start the Android Studio it pops a big internal error message "Cannot Lock System Folders".
enter image description here
I searched for information, something about this problem on MAC OS, but unfortunately I haven't reached to any conclusion and most of all I cannot use the Android Studio anymore.
Does anyone have came across with this problem and was able to sort it out?
Thanks is advance for any help
I have figured out what was going wrong with Android Studio.
Somehow there's a problem of linkage when user's home folder is moved to other volume different from the one used by the system.
In my case I have moved my Home folder to a secondary drive (ExFat) to be shareable between MAC OS X // Linux // Windows. My main OS is MAC, then ROS and other programming I use Linux and to program some ST microcontroller and design some CAD object I must use Windows.
That was a hit after making all A.S. application's folder 777.
After returning the Home folder back to MAC OS system volume all Java libraries were linked again and the Android Studio started normally.
In my case the problem is partially solved. Need to figure out haw I can make the Android Studio running with my Home folder located in non-system volume.

Can I distribute\install a copy of the UWP project to a different Windows 10 desktop system?

VS 2015, Xamarin Forms, PCL.
I can attach my Android phone by cable, and install to it. I can run "Local Machine" on my windows 10 development machine and test there. I want to give a copy of the UWP project to someone else to test with (on Windows 10 desktop). This is a new application, not in any stores, so...how to do this? Can it be done without using store distribution, and if so, can someone tell me how to do this, or point me to a link that documents this?
You could create package (like for publishing to store) and then with PowerShell install it on another PC. Packaging UWP apps
You can limit the distribution of an app to only a certain group of testers, without first publishing a submission that's broadly available, you can use the same app submission process as any app you submit. To allow only certain people to get the app free of charge, and prevent other customers from seeing its listing or downloading it - read more about Beta testing and targeted distribution

windows 8 phone app vs windows 8 tab app

I am new to windows 8 app development I just want to know that it is possible to make one app package which will run both on windows tab and windows 8 phone [For example in case of iOS same ipa can be installed on iPhone as well as iPad]?
I know win 8 phone and win 8 tab/desktop have different sdks and and coding sharing can be possible. But can I make one common package to run it on both platform.
No it's not possible. WP8 app packages are .XAP files & Windows 8 apps are .APPX/.APPXUPLOAD files. You can use various code sharing techniques like MVVM, PCL, etc, but you can't create a single file which acts as installer for both.
Maximize code reuse between Windows Phone 8 and Windows 8
As Xyroid explained they have different file name for apps. And since you compared to iOS, let me tell you that iPhone and iPad is basically the same device, with same architecture and same OS, with different screen resolution(if you ignore the calling function), so one IPA which works on iPhone, can work on iPad too.
While Windows 8 and Windows Phone 8 are two different OS, based on some common code and runtime, but they do actually have different app handling layers. They even have some different UI component. You can make a library (dll) which can work for both if it's just fetching data from a particular server or provides some low level functionality. But for creating single package which can run on both is a different thing. Even if they'd be using same file name, the internal codes and runtime can't be changed.
PS: WinRT apps can work on Windows 8 too, since WinRT is a stripped down version of Windows 8(without desktop app).

DirectX application doesn't work over Remote Desktop

I have a WPF application which has a DirectX component within it. This component does not work over Remote Desktop--it just shows a corrupted image. The application works fine when not using Remote Desktop.
In trying to debug the problem I installed the February 2010 DirectX SDK. Now, when I run the program on the computer with the SDK and Remote Desktop to it from a separate computer, the component works just fine. However the opposite does not work--trying to use the application over Remote Desktop when it is running on the computer without the DirectX SDK (it has the original problem with the corrupted image).
I have already compared the loaded DLLs (using Process Explorer) between running the application on my SDK machine and non-SDK machine. They both are loading the same DLL versions.
What else could be causing this behavior?
EDIT: I have discovered that the application actually is loading a different DLL. I didn't notice because I didn't capture the DLL list properly. When I run the application on the machine with the SDK it loads D3DREF9.dll, the DirectX reference rasterizer. This gives me a clue as to what the problem is, although I am still working out the solution.
It turns out that the application that I was maintaining was attempting to create a DirectX Hardware device, and if that failed, it would attempt to create a Reference device, and finally, if both of those failed, it would create a Software device.
There is no Reference or Software renderer available on systems by default. To get a Reference renderer the DirectX SDK must be installed--and you're only supposed to use it for debugging, not deployment. For a software renderer, the system only needs .NET 3.5 SP1 and then the software must load it.
Basically I believe the problem was that the software was failing to create the rendering device properly. I've cleaned up the initialization code and it renders over Remote Desktop just fine now.
Try reducing the performance/experience display options in RemDesk. I'd start with turning off Bitmap Caching, reducing the color depth, etc..
DirectX hardware acceleration is disabled by design for native remote desktop functionality: http://support.microsoft.com/kb/260565

Resources