Monitor RAM from serial port; Labview DLL with change in system language - dll

I have an executable written in Visual Basic that reads data from a serial port through a DLL made in Labview. The data is then plotted on a chart in real time.
After reinstalling the software with a different installer package, the serial port appeared to hang on read or write. I pulled up Portmon and ran the software again; read worked just fine, and write was labeled successful too, but the chart showed no data, and hardware plugged into the serial port was not properly returning to its base location after timeout.
This issue was only happening on the computers with French system settings rather than English, so I changed one of the computers to English system settings in the Language area of the control panel, then reinstalled the software. It worked!
Does anyone know why this is? I'm trying to figure out if the culprit is the Format settings, the non-unicode program settings, or just the windows language and location.
Are labview drivers different between languages? Is the format setting changing how the data is plotted, causing a failure?
Any suggestions are welcome.
If you would like more information, I made a post in NI before I tested Portmon or the language settings HERE

Changing system language / regional settings also changes decimal separators and other things. I have installed software developed in C# in different machines, producing different results and simply not running due to that fact.
I do not know the reality of the software and hardware you are using, but this might help pointing in the right direction :)

Thank you, BlunT! I just wanted to add some extra information:
I tested different settings for the software using the old installer, but changing it's config file to pull the new executables. What I didn't realize was that the old installer installed to each user's AppData/Roaming files; I got the executable to run for my user, but it wasn't running for the others.
I reverted back to the new installer (which saves the executables to ProgramData), changed all language settings to French Canadian, and changed the decimal separator from "," to "."
It is now working for my user name, and should be working for others' now, as well.
Just another reason to make sure you install to ProgramData if the installed files aren't specified to each user!

Related

UFT: SetCellData issue PbDataWindow for radio button

I have a radio button that is represented as a pbdatawindow, when I run setcelldata to pick an option it works fine on my laptop but fails on my colleagues laptop. If we try the run the command again on my colleagues laptop we get a fatal error from UFT.
The only difference between my UFT install and my colleagues is that my colleagues version is installed in French. Has anyone seen a similar issue?
PbWindow().PbDataWindow().SetCellData 1,1,""
Few things to try:
What version of uft are you using? - perhaps check for newer of see if there is a patch available?
Jump onto the microfocus knowledge base and see if there is anything around power builder.
You say the machines are the same but does that include every application too? In the past I've known that if you install applications after uft it can break its references. Try uninstalling and reinstalling uft. There is a repair option but uninstall/reinstall is normally more thorough.
Try and clear out all your temp and user settings.
In your user profile backup then remove all folders with mercury, hp, Hewlett-Packard and microfocus.
-The go to %temp% and clear evetything.
Try and pin down the problem - Has your colleague tried the English version or uft? - if that works, is it an option? (everyone use the same version)
If it doesn't work it suggests it's your colleague's machine as opposed to uft.
Is evetything such as the resolution and browser/application versions the same? Or simply try another French localised machine?
What's the fatal error? Does it provide any clues on why it failed?
Finally, You're paying a lot for commercial software. Don't suffer in silence :-)
Log a support call with microfocus. It's a bit long winded but Back in the day they used to be pretty good at helping. They'll ask you for logs and knowing how to get that is good to know.
There's more to try - let me know how you get on.

How can I stop my IAR ide from hanging when changing build configurations

I have come across this particular problem several times across several versions of the IAR embedded workbench (EW430 5.40.7 [EW 6.0], EW430 5.51.2 [EW 6.4], EW430 6.20.1 [EW 7.0]), but each time only after a long period of having no problems. The problem doesn't seem to have affected the other firmware developers in the office, so no help can be offered there. I'm currently on Windows 10, but the problems first occurred when I was on Windows 8.1 (same PC.)
The problem is that, for no obvious trigger, the IAR ide will start to hang until terminated (or it will just crash on one of the EW versions) on any attempt to change the active build configuration in MSP430 projects using the emulator.
From my testing, it appears to be directly related to something the IDE is doing with the emulator, as when the build configuration is changed, I can see the emulator menu in the menu bar disappear, then the hang happens. Under normal circumstances, the menu will disappear, but then reappear once the other debug configuration is completely loaded.
I have tried the default project "flashing the LED" to see if it was only my project - but if I select the msp430x4xx (C) - Debug, right click it and select "Set as Active" from the context menu, to make this the active project, the IDE also hung. I then reopened the EW IDE, and opened the LED flashing project again. The original 1xx asm project was the active project.
I then changed the settings of the 4xx (C) Debug project (without making it the active project) from the emulator to the simulator, and clicked OK. The program did NOT crash.
I then set the 4xx (C) Debug project as the active project and it did NOT crash. The simulator even runs without problems.
The version of the FET firmware didn't change from when the IDE worked correctly to when it didn't, and the FET is not even used at this point. It can be completely disconnected and the same results will occur.
I have tried the following, without success:
erasing the files in my project folder's settings subfolder
erasing the *.dep files in the project folder.
deleting the IarIdePm.ini file from AppData\Roaming\IAR Embedded Workbench
making sure none of the project files are read-only
reinstalling the program to the same location
removing and reinstalling the program to the same location.
What does solve the problem (until it reoccurs) is to reinstall the program, but to a different directory (for e.g., the default directory will be in program files (x86)\IAR Systems\Embedded Workbench x.x. Installing again into program files (x86)\IAR Systems\EWx (just so it is different) allowed that installation to work, but the old installation continued to fail.
Best advice so far (from our support person) has been to do the above, install to another directory and live with it, as it doesn't happen often.
Since it has happened to me on 3 occasions with 3 different versions of the program, I would like to know how to fix or prevent it! If anyone could offer anything to try (or even better, a straight solution :)) that would be greatly appreciated!
Cheers!
Since newer versions and updates on W10, it seems that old compatibilities are being removed from this OS. I have no direct solution for this problem since Microsoft does not promise support for old software and hardware. Even I tried to find a solution for that problem, and I found on the IAR website a list of IDE's and their compatible versions. (remember, old versions are not compatible)
( https://www.iar.com/knowledge/support/technical-notes/ide/windows-10-and-iar-embedded-workbench/ )
You will need to update your IDE and program version to a newer version if you plan to continue to use this IDE natively on Windows 10 or you may use Virtual machines with an old operational system (like Windows 7) to compile your program on old IDE.
P.S.1 I manually uninstalled KB4592449 recently updated and the program return to work natively. Probably it will continue working until this update (or other similar) being installed again on the computer, but probably there is any vulnerability that the computer will be exposed to, and in this case, I'm paying the price.
P.S.2 KB4580325 promotes the same behavior in IAR 5.11 on windows 10. Both KB's implement securities about the flash player - that I Don't use - then, I can securely uninstall it.
P.S.3 Since I updated my windows up to Windows 10 version 21H1 (compilation 19043.1165) AND I configured Windows defender to not be monitoring IAR IDE (IarIdePM.exe) disabling all protections available, everything works fine. But Remember: my program is original, not cracked or altered by anything, then I am secure to do what I did.
It is a 'natural' that software problem. Not found way of fixing it. The solution temporary is modify manually the file .eww for change of project active. The ultimate solution is to use another development environment.

Adding software setup to installer

I'm writing an installer for an application. Most of the installer is done and working, but I have on more step outstanding. I need some way to add a setup window to the installer, that will take user input like server address and port, etc. and write these to the relevant files for system start-up. This preferably done through a GUI of sorts inside the installer.
I've tried creating an executable file that runs after installation, but this does not always execute on different systems.
Is there a way to add a GUI to the installer itself that executes after the directory structures and files have been put into place?
Thanks in advance.
In general you should seriously consider doing this as a standalone app that runs when the app first runs and needs configuring. Then it's a program that runs in a user context and can be tested and debugged in the normal way. At least consider what the user is going to do if they want to change the server address or the port - will they need to uninstall your app and reinstall it just to change the server details or the port?
The GUI may not run correctly when started from the install for a number of reasons. It may be initiated with the system account if it's a deferred CA. It wasn't started from the interactive user shell, so it probably won't have any idea of a working directory. It's being run from an msiexec.exe process running in the system directory and maybe with a system account - that's not really the place to be doing your GUI configuration.
I assume you're using WiX, it doesn't say so in your question but it's tagged with WiX.
I would have a read of http://wix.tramontana.co.hu/tutorial/user-interface-revisited (or http://www.dizzymonkeydesign.com/blog/misc/adding-and-customizing-dlgs-in-wix-3/ has a relatively easy to read example), you can add or edit any of the dialogue boxes in the installer, you'll need to download the source to get at the built in dialog, and it does require some "play" to get everything quite right but worth it to get a professional looking installer.

Creating automated Installer for any Program

How can I create an automated Installer for a program that has a regular Installer with questions like:
Install Directory,
Accepting License,
Creating Icon on Desktop
etc...
Assuming that I am OK with building an Automated Installer for every program I want to separately, Or i want to put files in a Self Extracting Archive and run the Installer after unpacking.
Do I need a third party program for it? Should I use Command Prompt? Do I need to learn Lua? (I'm learning C#)
EDIT:
To clarify I'll use an example:
Let's say i wrote a program but that program has a requirement, like
DirectX, or Adobe Air, or Maxthon Browser.
I wrote my program in such a way that I have to be sure that that is
installed in a very specific Drive/Folder on the PC or with some
specific preferences/parameters.
I include an installer for this program, but I want to specify where
it gets installed on the PC and with what parameters.
Preferably Installing this requirement right after or during the
Installation/Extraction of my own program.
I'm looking for a way to be able to run the Installer of any given program and navigate through the install wizard of it with out the user having to/being able to change the settings I need (with the foreknowledge and permission of the user of course).
It doesn't need to be silent install or anything.
I have rewritten my answer.
Your mentioned setups requirements seem very common to me for the class of installation programs (setups) and not at all unusual.
Generally you have two options:
You write everything on your own, you create the install dialogs, the way the settings are saved, and so on. Then you are fine with C# (or any other language).
It is quite uncommon to do so, because it is time consuming, and you are reinventing things which have been solved in standard ways several times. Moreover you will fall in common setup error traps which are maybe already captured (or at minimum documented) if using tools.
If you want to use a tool, it is your first decision, if you want a tool based on MSI (Windows Installer) or not. MSI is the most powerful and most industrial-accepted setup technology in Windows, but it is a quite complicated matter, and no tool can shield this 100% from you. Google for WiX (Open Source) or InstallShield as starting points for MSI tools but there are of course more.
Some tools are already integrated or integrateable in Visual Studio for example.
Selfextracting tools are a starting point, but the following tools offer far more and are a good intermediate way between the extreme points SFX and MSI:
InnoSetup
(has also a home here on SO).
Nullsoft Scriptable Install System (NSIS) on SourceForge
One self extracting program in Windows I want to mention, because it is not widely known, that "IEXPRESS.exe" is already included in the OS.
Concerning your special question of navigating through the install wizard:
Every mentioned tool has ways to save install settings and of course is deciding which settings are changeable by the user part of the 1*1 of setup creation. With the tools you can design the install dialogs like you want consisting of the parts you want.
I hope I got your point.
P.S. While most tools have kind of a scripting language or something similar included, you are normally free to extend the installation process with your own actions written in nearly every programming language you like.

Is there a cross-platform scripting language that requires no installation?

The application I'm working on has simple functionality, but has one requirement that's giving me trouble. The application will be run from a thumb drive, and requires access to write a file to said thumb drive, so browser-based javascript/html is out.
My ideal goal is to have a single script that can be double clicked from mac's finder or windows explorer that will kick-off the update of this file that is stored on the usb drive. Is this possible?
I've come across similar questions (OK Programming language from USB stick with no installation), but everything I've found would still require separate starting points for each script. For example, if I put Lua binaries on the usb stick I will have to have a separate script for each platform I want to support.
i really think it's not possible. otherwise, JAVA, Adobe Air and other platforms wouldn't have been created in the hope of a cross-platform language. besides, mac, linux and windows have different "executable" file types.
how bad can 3 (mac, windows, linux) start-points be? they could operate on the same file anyway.
It is possible to create Java jar-files which are startable with a double click. No platform specific scripts are required. See this question and its linked stuff.
This works of course only, if a JRE has been installed correctly on each computer.