How to run Borland Database Engine in Docker? - windows

I have to maintain code which uses the Borland Database Engine (BDE). It runs on Windows 10. I want to create a docker image, where the BDE is installed.
Approach A) "Silent Installation with BDE setup"
The setup of the BDE seems to have no "silent" way for installation and pops up with some dialog during the setup proecess. This cannot be used in a docker build step, because there is no GUI.
=> It does not work.
Q: Is there a option at the setup to suppress the dialogs?
Q: Is the helper tool, which can approve the dialogs with "yes/ok" without user interaction?
Approach B) "Manual installation by copy"
Therefore I've tried to use a "manual installation" approach:
Install the BDE on my local machine
Copy all files of BDE from c:\Program Files (x86)\Common Files\Borland Shared\BDE into the docker image (with ADD in dockerfile)
Extract the registry keys for BDE from my local machine into a file bde.reg
Import the registry keys in the docker image from bde.reg
It doesn't work also.
Q: Do I forgot some registry keys, settings or files?

Related

Docker toolbox with Visual studio - Volume sharing is not enabled

I'm trying to get running a docker support with Visual studio 2017 for a .net core 2.0 web app running on linux containers. I'm working on machine with win 7 OS, so I must use a Docker toolbox with Virtual box. I've already checked this question: How to get docker toolbox to work with .net core 2.0 project, but I got stuck in the following problem, when trying to run it with VS:
Volume sharing is not enabled. Enable volume sharing in the docker ce
for windows settings
So far I know that there is a default volume mounted under the C:\Users, so my project files should be copied somewhere under this folder in case I don't want to mount any other volume. So I copied them there.
When I check the settings of my Virtual box, folder seems to be shared:
I can even cd into this folder with command line, but still can't get over this problem. Any ideas about this?
Finally I got this running. Error message comming from VS is very misleading and it has nothing to do with volume sharing. Eventually I realized that problem is in running a debugger, because when I ran solution with Ctrl + F5 everything was ok and container started correctly. Problem occurred only when running with F5 and trying to attach a debugger.
Then I found some clues in console output. VS tries to download some tooling for debugging containers with powershell script named GetVsDbg.ps1. When running this script I could observe errors like:
Add-Type : Cannot add type. The assembly
'System.IO.Compression.FileSystem' could not be found.
Finally I fixed this issue by updating powershell version which was somehow in collision with my .net framework installed on my machine.
Well in my case it turned out that I had changed my windows password and docker wasn't able to get access.
So it was just
uncheck shared drives
Apply
Check again. Enter new password
restart docker
Below setting helped me getting rid of this error. Check the drive you want to share and click apply. This might ask you your network credential just enter in case it pops up.
Docker settings
Thanks,
Rakesh
I fixed it by running following command in Powershell:
docker network create nat
I got same issue attempting to publish an Azure Function App to a Container Registry.
Newer version of Docker Desktop for Windows 2.3, has new interface. I had to got to Resources|File Sharing and add a new Folder. This resolved that issue...

RabbitMQ Executable Disappears Before Installation Begins on Windows 7

I've been following the documentation on the official RabbitMQ site to install it on my Windows 7 computer. Installing Erlang and setting the environment variables has been trouble-free, but using the RabbitMQ installer has not worked out.
I have tried downloading the installer from both the GitHub and Bintray links as a regular user and administrator, but it does not seem to change the following problem: each time I double-click or right-click->Run as Administrator the installer it removes itself from the computer.
I've tried looking at processes in Task Manager, the Trash Bin, All Programs, and even in Control Panel\Programs\Programs and Features, but there is no sign that the installer has done it's job.
I ended up using Docker and Kitematic to run RabbitMQ image 3.6-management. The image works without any issues and appears to be a preferred option among my co-workers.

WinPE3 with Teamviewer over LAN - doesn´t connect

for a remote backup and recovery solution, I want to create a WinPE Environment with embedded Teamviewer (newest possible version)
Now I found a tutorial which describes this steps. (unfortunately its not english so its just for information)
http://www.andysblog.de/windows-teamviewer-und-winpe-eine-boot-cd-fuer-den-remote-support
You have to mount the WIM Image, copy few DLLs into the System32 Folder
c:\windows\system32\avicap32.dll
c:\windows\system32\msvfw32.dll
c:\windows\system32\de-de\avicap32.dll.mui
c:\windows\system32\de-de\msvfw32.dll.mui
and use the Teamviewer Quicksupport Ver. 5 (Portable Version works too)
which is important because all versions above 5 doesn´t work in the WinPE environment.
I did everything as decribed (in a VM machine), and tried to connect over LAN (without ID - not over the Teamviewer server) - My Teamviewer 10 didn´t connect and gave the following error: "Protocol negotiation failed"
Any suggestions?
The second problem is, that I would like to run the newest possible version, according to some reports, Teamviewer above Ver 5 checks in which account it runs. - If it is the SYSTEM account it will try to switch the account, if it fails it closes without any error message.
So I need also a solution for this. Maybe how to run programs in WinPE as different user and not as the default SYSTEM account.
Thanks for any suggestions.
Well, I think I figured it out.
You have to run the full install in WinPE and check the "run-on-startup-feature" which registers it as a service. Now I was able to connect without any problems.
Though it does not have any sense to "install" Teamviewer everytime I boot the WinPE environment, so I did all the settings I need and exported them to a *.reg File on a USB drive.
Also copied the new installed Teamviewer folder to include it in the WIM Image later, and will create a batch file which loads the *.reg File on every boot and then starts up "Teamwiever" - Let´s see if this works.

Install a Apache/MySQL/PHP web application locally

We have a web application that is based on Apache, MySQL and PHP. I want to make that available as a desktop application for windows also, installed via MSI. A small .NET application starts a modified xampp package that we deploy and then opens an embedded Chromium-based browser.
Questions:
How do I ensure that I am able to modify the Apache/MySQL/PHP config on run time? The files are stored in Program Files, and UAC of course does not allow me to change them without "Run as administrator". Is there a way to make these files editable during setup? Otherwise I would have to figure out how to start Apache/MySQL with custom config files from a temp directory.
How do I tell the installer to add Apache & MySQL to the firewall exception list, or how do I tell the firewall that applications that listen only locally are not a threat?
I realized I do not want a dirty hack here and tried to do it "right":
I modified the configuration of Apache and MySQL so that everything that changes lies in %APPDATA%. The configuration files are passed as command line arguments.
The current version of Advanced Installer allows Firewall rules to be set on installation.
Actually it wasn't that hard to change the config as I thought it would be and I learned some bits in the process...
I am unsure how this might be helpful, but take a look at inno setup it's free tool to deploy software, and it allow to make custom installation script using pascal, by putting some effort i hope , you can install wamp, add firewall restrictions etc.

How do we create an installer than doesn't require administrator permissions?

When creating a setup/MSI with Visual Studio is it possible to make a setup for a simple application that doesn't require administrator permissions to install? If its not possible under Windows XP is it possible under Vista?
For example a simple image manipulation application that allows you to paste photos on top of backgrounds. I believe installing to the Program Files folder requires administrator permissions? Can we install in the \AppData folder instead?
The objective is to create an application which will install for users who are not members of the administrators group on the local machine and will not show the UAC prompt on Vista.
I believe a limitation this method would be that if it installs under the app data folder for the current user other users couldn't run it.
Update:
Can you package a click once install in a normal setup.exe type installer? You may ask why we want this - the reason is we have an installer that does a prereq check and installs anything required (such as .NET) and we then downloads and executes the MSI. We would like to display a normal installer start screen too even if that's the only thing displayed. We don't mind if the app can only be seen by one user (the user it's installed for).
ClickOnce is a good solution to this problem. If you go to Project Properties > Publish, you can setup settings for this. In particular, "Install Mode and Settings" is good to look at:
The application is available online only -- this is effectively a "run once" application
The application is avaiable offline as well (launchable from Start Menu) -- this installs the app on the PC
You don't actually have to use the ClickOnce web deployment stuff. If you do a Build > Publish, and then zip up the contents of the publish\ folder, you can effectively distribute that as an installer. To make it even smoother, create a self-extracting archive from the folder that automatically runs the setup.exe file.
Even if you install this way, if you opt to use it, the online update will still work for the application. All you have to do is put the ClickOnce files online, and put the URL in the project's Publish properties page.
Vista is more restrictive about this kind of thing, so if you can't do it for XP you can bet Vista won't let you either.
You are right that installing to the program files folder using windows installer requires administrative permissions. In fact, all write access to that folder requires admin permsissions, which is why you should no longer store your data in the same folder as your executable.
Fortunately, if you're using .Net you can use ClickOnce deployment instead of an msi, which should allow you to install to a folder in each user's profile without requiring admin permissions.
The only way that I know of to do this is to build a ClickOnce application in .NET 2.0+
If the user of your application has the correct pre-requsits installed then the application can just be "launched".
Check out:
Microsoft Family.Show
IF UAC is enabled, you couldn't write to Program Files. Installing to \AppData will indeed only install the program for one user.
However, you must note that any configuration changes that require changes to the registry probably(I'd have to double check on that) administrator privilege. Off the top of my head modifications to the desktop background are ultimately stored in HKEY_CURRENT_USER.

Resources