Need to create a directory that an application can see in Wi

Questions about Wine on Linux
Locked
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Need to create a directory that an application can see in Wi

Post by Ham13 »

I have successfully installed Ham Radio Deluxe under Wine 1.6. As documented in the app directory the logbook does not run. It just locks up in an infinite loop. Also installed jet40, mdac28 and art2kmin using Winetricks.

The error that occurs when running the logbook is "Cannot create database" - "Can not find directory C:\users\marty\application data\simon brown, hb9drv\hrd logbook\my logbook.mdb" - Component not in registry. It appears that the program can not create the My Logbook.mdb because the directory does not exist.

Is there a way to create the needed directory and point the app to it within Wine? Maybe through the registery or winecfg.

All advice is appreciated.
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Need to create a directory that an application can see i

Post by dimesio »

You can create the directory in your file manager the same way you would create any other directory. That may be enough. As for registry entries, check a working Windows install and see what entries it has for the app; you can create any missing ones in Wine's regedit.

You should also try upgrading Wine to the latest development release; 1.6 is old.
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

Thanks for your response. OK. Should I create the new directory tree in the wine c_drive? Looks like that's most logical place for a windows app to look for it.

I picked Wine 1.6 because it was a stable release. Are updates from the Wine PPA automatic? Should I sudo apt-get update, sudo apt-get install wine 1.7 instead.?
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Need to create a directory that an application can see i

Post by dimesio »

The wineprefix should already have a /drive_c/users/username/Application Data directory; add it there.

As for updating Wine, update it the same way you would any other package. Beyond that generic advice I can't help you, as I'm on openSUSE. If you need more help than that, ask on the Ubuntu forum.
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

I found that the complete directory was already present on /drive_c. I copied the .mdb file from Windows Vista over to ...HRD Logbook. This fixed the "cannot find file" problem but, now loops on loading the database. This looks like it might have to do with the database connection odbc or jet.

Reading the reference in the apps-database to the Wiki it's suggested to import, from Windows, the key HKLM/Software/ODBC (just this one key) to Wine using Regedit. Then to move the following DLL's over:

odbc32.dll, odbccp32.dll and oledb32.dll. Then over ride them wit the native version in the winecfg for this app.

Several question come to mind. First, Will cfg changes made after adding HRD to the applications table only affect that app? Two, Where should I put the native .dll files? Lastly, Is this a good idea to try? I assume that I can reset the dlls if it does not help.

On the upgrade it seems that it does not occur automatically. Version 1.6.1 just upgraded but not to 1.7. I'll question the Ubuntu folks on that. Is it OK to install 1.7 over 1.6.1 or should 1.6 be removed?

Thanks for your patience and advice.
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Need to create a directory that an application can see i

Post by dimesio »

Ham13 wrote:First, Will cfg changes made after adding HRD to the applications table only affect that app?
If you set the override only for that app, yes. http://www.winehq.org/docs/wineusr-guid ... ain#AEN685

Note that winetricks only sets overrides globally, so anything you install with it will affect all apps in that wineprefix. Most experienced users just install each app to a separate wineprefix.
Two, Where should I put the native .dll files?
In the wineprefix's /system32.
Lastly, Is this a good idea to try? I assume that I can reset the dlls if it does not help.
Yes and yes.
Is it OK to install 1.7 over 1.6.1 or should 1.6 be removed?
Assuming 1.6.1 was installed via your package manager, your package manager should remove it for you before installing 1.7.x. But if you're really worried, it can't hurt to uninstall 1.6.1 first.
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

So far I HRD running and connecting to my radio but, the logbook continues to be a problem. The latest error is "unable to load/open msjter40.dll". I've installed jet40, mdac28 and the access runtime via winetricks. Modified the registry to get the proper drives attached to the .mdb file.

To get this far I've had to add the following .dlls:

odbc32.dll
odbccp32.dll
odbcjt32.dll
odbcj32.dll
msjet40.dll
msjter40.dll

According to the net this error is caused by a missing msrclr40.dll file. I cannot edit or create a DSN using odbcad32.exe. That errors out (error 126 cannot find setup or translator). Funny that this (msrclr40.dll) file is not on my vista system and HRD runs there. I'm now thinking that there is a problem with the Jet40 install.

Should I 1) remove wine 1.6 and install 4.7.X 2) Create new wine prefix and start fresh.

Any suggestions will be appreciated.

Thanks
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

Okay Guys. I finally got HRD Logbook running. The problem was the mdac27 install. I know that mdac28 was specified in the install instructions but, when I ran mdac_typ.exe (mdac27) in the system32 directory the logbook loaded and ran. When I installed jet40 with winetricks I got a request to download mdac27. I did not know how to respond and had the feeling that it did not install. So I tried installing it manually. That worked. When I tried the same trick with MDAC28 (MDAC_TYP.EXE) it told me it could not install on this OS (Ubuntu 12.04).

I assume that that is because I’m using version 1.6.1 of Wine and maybe an older version of Winetricks. What does the group think of that possibility?
Now I guess the bigger question is should I delete/uninstall everything and update Wine and Winetricks and reinstall HRD? I’m leaning, after about four days of work on it) to leave well enough alone unless there would be a significant advantage in updating. Let me know what you all think.

73
Marty, N3MOW
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Need to create a directory that an application can see i

Post by dimesio »

Ham13 wrote: I assume that that is because I’m using version 1.6.1 of Wine and maybe an older version of Winetricks. What does the group think of that possibility?
It's possible, but it's also possible that it wouldn't install because you had previously installed mdac27.
Now I guess the bigger question is should I delete/uninstall everything and update Wine and Winetricks and reinstall HRD?
If it's working, I wouldn't.
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

Getting deeper into testing the logbook functions I find that I have to add a program called TQSL to get the QSL data upload working. This program authenticates the upload as coming from my specific call. The programmer at ARRL told me it should run under wine and that I should use v2.0.

Should I put this in a new wine prefix as suggested above? HRD provides a browse to find the .exe file. Should I put it in the same program file as HRD? I assume that any programs in the original wine prefix will still function.

Witch way is best in the groups opinion.

Thanks
spoon0042
Level 6
Level 6
Posts: 572
Joined: Thu Dec 24, 2009 11:00 am

Re: Need to create a directory that an application can see i

Post by spoon0042 »

If the one program is calling the other directly it will need to be in the same prefix. If you're feeling paranoid you can just back up the prefix first by copying it somewhere, ie. if it's ~/.wine then cd ; cp -a .wine .winebak

Of course you can always try installing everything in a fresh wineprefix, see http://wiki.winehq.org/FAQ#wineprefix
Ham13
Level 2
Level 2
Posts: 18
Joined: Mon May 19, 2014 2:04 pm

Re: Need to create a directory that an application can see i

Post by Ham13 »

Thanks for the reply. The "helper" program should be in the same wineprefix as the calling program. That makes sense.

Am I correct that each wine prefix acts as a separate windows environment? To use a program in a given prefix I must set the wineprefix environment variable to the prefix in which the program is installed. To start another program in a different prefix, on the same PC, I must reset the environment variable. Is that correct?
Will both programs continue to run properly?

Thanks
Locked