Which cab should I deploy to my handheld device to install CF version 2? - arm

Based on what I read here, in order to install CF version 2 on my handheld device, I should copy over one of the cab files here:
...but which one?
The device in question is a Symbol 3090, which currently has only CF version 1.0.3316.00 (1.0 SP2) installed. The OS version of the device is 05.00.1400
The device CPU is presumably 'ARMV4I' as a similar device (Motorola 3190) says that it is equipped with such.
UPDATE
Based on what I see here when I click "this link" here:
-- OR -- If you have Windows Mobile 5 or newer on your device, click this link and save the file to the desktop of your computer.
...it seems "NETCFv2.wm.armv4i.cab" is probably the best choice.
Any refutations?
UPDATE 2
I copied the file I reckoned to be the one, and clicked it on the device, but:
What in Sam L. Clemens' illustrious memory is going on here?!?
UPDATE 3
I then copied over the other file from the link above, which was slightly different (2.12MB as opposed to 2.14MB, for one thing), and tried to run it, and got the same err msg as above.
UPDATE 4
Trying to install from the last link, I see:
UPDATE 5
Actually, it turns out that what I might really need is to install CF version 1 after a cold boot of the device...but I don't know if version 1 of CF is still available. That's the only version the existing .exe will run on, but my PC only has cab files for versions 2 and 3.5...???
UPDATE 6
In the most recent version of the .exe (builds and compiles, but won't run on either device), it has three, count 'em three mscorlibs in its References area; the versions are:
1.0.5000.0
2.0.0.0
3.5.0.0
They all have the same public key token (the same as shown in the screen shot)
The only other multi-reference is System, which has both version 2 and 3.5
AND, below System.Xml, there are three coredll.dlls, albeit spelled differently:
coredll.dll
CoreDll.dll
CoreDll.DLL
(no info for any of them...???)
UPDATE 7
I copied NETCFv2.wce4.ARMV4.cab to the 3090.
I 2-clicked it on the device, but got this:
And so, I retreated (selected "No").
Thus continue unabated the travails of an accidental handheld developer.
UPDATE 8
The project is set to Framework Version == v2.0, Platform == Windows CE, Target Device == Windows Mobile 6 Classic Emulator (one of the few emulator choices I have), and the output shows that it is ARMV4i that is being deployed:
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.ppc.wce5.armv4i.CAB'
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.repl.ppc.wce5.armv4i.CAB'
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.dev.enu.ppc.wce5.armv4i.CAB'
Deploying 'C:\Program Files (x86)\Motorola EMDK for .NET\v2.8\SDK\Smart Devices\wce500\armv4i\symbol.all.arm.cab'
And when I run the .exe in the emulator, it fails with, "Error - An unexpected error has occurred in Platypus.exe
Select Quit and restart this program, or select Details for more information.
This application requires a newer version of the MS .NET Compact Framework than the version installed on this device."
Selecting the "Details" button augments the mental anguish with, "TypeLoadException
This application requires a newer version of the MS .NET Compact Framework than the version installed on this device."

Assuming your are using the WinCE 4.2 version of the 3090 (it comes in 4.2 and 5.0), you should proceed with the install using NETCFv2.wce4.ARMV4.cab. "The program is not compatible..." message is a warning only, and not a very smart one. There is even a way to edit the cab to remove that warning if you wanted to, though my memory fails me on the exact way to do it. I've had to do it to allow a silent install before (otherwise the nag screen gets in your way).

First you need to figure out what version of CE you are running. You can find this by going to System Properties. Also while you are in System Properties note what processor you are running ( arm, mips ...). If you are running windows ce 4.2 or higher you will pick a cab file out of the wce400 folder. If you are running windows CE 5.0 or higher you will pick a cab file out of the wce500 folder. Note you can't install .net 2.0 on windows ce 4.1 or lower, according to Microsoft documentation, however, I have noticed that the minimum version setting on the cab files is 4.0, so you might be able to hack it.
Like I said before on also the System Properties page is the type of processor you are using. From that select the appropriate sub-folder in either wce400 or wce500. In most of the folders for each processor there should be only one cab file. If there is more than one cab file see if the file name contains wm for windows mobile, wce for windows ce, or ppc for pocket PC and pick the one most appropriate for you.
You can also take the guess work out of this whole process by creating an ini file with the fallowing text and using ceappmgn.exe to pick and install the right cab file for you.
[CEAppManager]
Version = 1.0
Component = NETCF
[NETCF]
Description = .NET Compact Framework v2.0
CabFiles=wce400\armv4\NETCFv2.ppc.armv4.cab,wce400\armv4\NETCFv2.wce4.ARMV4.cab,wce400\mipsii\NETCFv2.wce4.MIPSII.cab,wce400\mipsiv\NETCFv2.wce4.MIPSIV.cab,wce400\sh4\NETCFv2.wce4.sh4.cab,wce400\x86\NETCFv2.wce4.x86.cab,wce500\armv4i\NETCFv2.wm.armv4i.cab,wce500\mipsii\NETCFv2.wce5.mipsii.cab,wce500\mipsiv\NETCFv2.wce5.mipsiv.cab,wce500\sh4\NETCFv2.wce5.sh4.cab,wce500\armv4i\NETCFv2.wce5.armv4i.cab

Related

LibreOffice Base: Connection to data source could not be established

I am trying to open an MS Access database in Base using the instructions here . (I've tried both .mdb and .accdb)
I can follow the process described by Gord with no problems until the last step, where it asks me to save the database in LibreOffice format. I choose a filename (say mylinuxdb.odb), click OK, and then Base opens with this error:
The connection to the data source "mylinuxdb" could not be established.
org/apache/commons/logging/LogFactory
Note that it is complaining about the new .odb database, not the MS Access database. Nonetheless, no data is imported.
Can anyone help with this?
Thank you.
Revised answer:
It appears that this issue is specific to distributions like Linux Mint that install LibreOffice Base by default. Presumably in order to enable embedded HSQLDB databases they also install a rather old version of HSQLDB which conflicts with UCanAccess. To fix that, remove LibreOffice's copy of HSQLDB. For Linux Mint that would be
sudo apt remove libhsqldb1.8.0-java
(original answer)
I was able to reproduce your issue with LibreOffice 6.4.6.2 on Xubuntu 20.04. It looks like the setup instructions on Ask Ubuntu may need to be tweaked.
In the meantime try opening your .odb file, clicking through any errors. When Base opens, choose
Edit > Database > Properties …
and notice that the "Database URL" text box has "jdbc:" in front of it.
so if the textbox contains
jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
then apparently Base will try to use
jdbc:jdbc:ucanaccess:///home/gord/Documents/Database1.accdb
and that won't work. We need to have just
ucanaccess:///home/gord/Documents/Database1.accdb
in the text box (as in the screenshot above).
This is NOT (as per chosen answer) "specific to distributions like Linux Mint that install LibreOffice Base by default". Such statements should be avoided as they are clearly very difficult to prove except with rigorous analysis of all other situations, which is clear was not done and in practical terms cannot be done.
I just encountered this message with an LO Base form which uses a MariaDB installation on Windows 10, using a JDBC connection with the mysql-connector-java-8.0.28.jar connector .jar. The form was created only minutes previously.
Interestingly, I happened to have a Python application running at the same time but, and I stress, this Python application does not use any kind of connection to any mysql database whatsoever. Nor, being CPython, does it use Java in any way whatsoever.
I find that when I close the Python application I am then able to open the LO Base form. Furthermore, after having first opened the LO Base form I am then able to run the Python application.
As to why this ludicrous error should arise in these circumstances in the first place, I do not yet know. Chalk it down to yet one more LO anomaly and oddity around which you have to navigate by hook or by crook.

Setting up a workflow for autoformatting a git repository (C)

I want to set up a workflow that allows me to have a git repository with a uniform/consistent formatting. The developers (approx. 30) should be able to commit properly formatted changes to their local repository easily, independent of their operating system (either some Linux or Windows 10) and independent from their IDE. Changes shall be pushed to a Linux server which administrates the remote repository.
From my point of view there are two steps necessary to ensure that the remote repository is properly formatted:
Format the current state of repository according to a set of rules.
Format the files affected by every new commit according to these rules.
The first step can be implemented easily by running an auto-formatting tool (e.g. clang-format) on the complete repository. The implementation of the second step can be further divided into two substeps:
2a) Client side: Format a commit properly before pushing it to the server.
2b) Server side: Check if the repository will be properly formatted after the changes of the commit are applied.
The second substep (2b) can be implemented easily (simlar to step 1). However, the implementation of the first substep (2a) is more demanding and I would like to reach out to the community for tipps/tricks/ideas.
So far I've had a closer look on the Eclipse autoformatter and clang-format:
The Eclipse autoformatter can only be used when Eclipse is installed, I haven't found a Eclipse autoformatter standalone application. Is it possible to run the eclipse autoformatter from the command line without a GUI?
clang-format is a unix tool which I cannot install and run standalone on a windows system. I've seen there is a LLVM executable for windows but I am not sure if the installation will inflict any undesired changes to my system. Is anybody using LLVM/clang-format on windows?
Are there other auto-formatting tools for C which work on Linux and Windows 10? Is anybody successfully using python scripts for this purpose?

Is there an offline MinGW installer?

I am learning C and I want to install MinGW on my laptop. The MinGW installer is a web-installer, it requires the computer to have access to the internet when installing. But the problem is that my computer's not connected to the internet. So it can't be installed.
So I am thinking of downloading the complete offline installer on my smart-phone and transfering it to my PC through blue-tooth.
I have already tried TDM-GCC, but even that requires me to download somthing.
So is there an offline installer to MinGW? If yes where can I get it?
I did not find an offline installer for MinGW,but instead I found a better Windows port; which is MinGW-W64
From http://mingw-w64.yaxm.org/doku.php:
Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution.
Now to answer this question: it has to be mannually installed by downloading the zip file. It won't require additional download.
You can download it from link : https://github.com/jonasstrandstedt/MinGW
You need to extract the MinGW folder in C:\ eg: c:\MinGW . Then what you need to follow the steps given in the link above. In CodeBlock IDE go to settings>compiler>Tochain Executables. There you need to click on auto detect or specify the folder manually.
The most direct answer to the question "Is there an offline MinGW installer?" is "maybe, but it would be a snapshot from the past, and it's almost certainly not up-to-date with the latest available released versions." The individual packages are made available (almost) as soon as they're released, so capturing everything in a self-contained installer is a moving target.
But, you can use the standard installer offline with a bit of prep work if you use MSYS2's pacman, which manages dependencies and grabs all the right versions for you.
The details are given in an answer to another question (https://stackoverflow.com/a/46791235/).

How to Resolve Quickbooks Interface Error: QBFC Error "Could Not Load File or Assembly Interop.QBFC7 or one of its dependencies"

I recently inherited a C# Winforms application that communicates with Quickbooks via their QBFC interface. The application contains a reference to the COM Server Interop.QBFC7.dll. The application works fine in our test environment and in several of our client's environments. Although, yesterday when I attempted to install it on a new customer's system I continued to get the following error:
Could Not Load File or Assembly 'Interop.QBFC, Version=8.0.0.87, Culture=neutral, PublicKeyToken=...' or one of its dependencies. The system cannot find the file specified.
I know that we have several customers running this application on various versions of Quickbooks (i.e. Quickbooks Pro, Premier and Enterprise between 2008 and Enterprise 11.0). To my knowledge, this is the first customer that we have attempted to deploy this application that has Enterprise 12.0.
I have attempted the following to resolve the issue with no success:
1) Install the QBFC7_Installer from the Intuit Developer Network Site
2) Install the Quickbooks SDK 10 Installer from the Intuit Developer Network Site
3) Verified that the Interop.QBFC7.dll file is present on the file system.
4) Attempted to manually register the COM object Interop.QBFC7.dll via the command prompt: regsvr32 Interop.QBFC7.dll (This fails as well and windows returns an error stating that it cannot find the object).
Does anyone have any suggestions or feedback about additional things that I can try to resolve this issue? I get the same error on 3 different machines at their site running different operating systems (i.e. Windows Server 2008, Windows 7, and Windows Vista)? I have also tried compiling in both x86 and 64-bit configurations to no avail.
Thanks in advance for any help.
First of all, you should be targeting an x86 build only. The QuickBooks SDK won't work if you target Any CPU or x64. Your main problem, though, is that you are looking for the wrong version of QBFC. Notice the version stamp on your error message:
Could Not Load File or Assembly 'Interop.QBFC, Version=8.0.0.87,
Culture=neutral, PublicKeyToken=...' or one of its dependencies. The
system cannot find the file specified
This is QBFC8, not QBFC7. So you should be able to fix the problem with the QBFC8 installer.
The version of QuickBooks should not make a difference, since QBFC 8 (or 7, for that matter) will work with the 2008 and Enterprise 11 or 12.
You should look into using a setup project to install your application in order to avoid this problem in the future. A setup project should detect the QBFC dependency automatically. Once you see this happening, go to SearchPath property of your setup project and add the MergeModule directory from the SDK that is installed on your machine. Once you do this, you should see that the QBFC and Xerces merge modules are added to your project automatically as dependencies. Of course, you'll also need to update your code to a more recent version of QBFC, but that's probably a good idea in any case.

Is it possible to degrade from Internet Explorer 7 to Internet Explorer 6 for debugging purposes?

I'm having Internet Explorer 6 problems on one of my sites, and I really wish I had it installed instead of Internet Explorer 7. Is there a quick way to do this?
Download Microsoft VirtualPC. Then download any of the files in Internet Explorer Application Compatibility VPC Image. The second download contains four VHD (virtual hard drive) files which have:
XP SP2
IE 7
XP SP3
IE 6, IE 8 Beta 2
Vista SP1
IE 7
Multiple IE:
It is possible to run Internet Explorer in standalone mode without having to over-write previous versions thanks to Joe Maddalone who came up with a way of achieving that in November 2003. Basically, Internet Explorer is run by exploiting a known workaround to DLL hell - which was introduced in Windows 2000 and later versions - called DLL redirection.
Manfred Staudinger perfected the standalone versions by adding IE version numbers to the title bar of the standalone browser window. Moreover, by removing the "IE" key in the registry subkey [HKLM\SOFTWARE\Microsoft\Internet Explorer\Version Vector] Internet Explore defaulted to respecting conditional comments based on the version number prebuilt in the program.
It is not difficult to follow the instructions and get any version of IE running in standalone along side other versions. Most of you probably know of evolt's archive of Internet Explorer which has them readily packaged in ZIP files. Now suppose you want to download them all. An installer that would conveniently automate the whole process would be great. Thanks to this comment for the idea.
So I made an installer which contains IE3 IE4.01 IE5 IE5.5 and IE6...
Download Virtual PC and set up a bunch of them for testing with various browsers/OS's. Once set up, this makes it trivial to test on IE6,7 and 8, various Firefox flavours, Konqueror, Opera, Safari, etc...
See Samuel's answer for a helpful VPC image in getting this started:
I recommend always testing your sites using BrowserShots. You can see how your site looks across multiple browsers, with multiple versions, on multiple operating systems. You can do something like 50 tests a day on their free service.
Also check out IETester, which gives you 5.5, 6, 7, 8b2 in one app.
Litmus is another BrowserShots-esque service.
This works fine for me: Multiple IE
Edit: looks like the minute it took me to find the URL was enough for 3 people to beat me to it..wow
IETester is pretty good, compare IE5.5/IE6/IE7/IE8 side by side.

Resources