Unzip the server source code and navigate to the bin/debug folder.  

To install B4ASQLServer on your PC or Server as a Service should only require you to run Install.bat.
YOU MUST RUN AS ADMINISTRATOR OR IT WILL LAUGH AT YOU.
You can also open cmd.exe as ADMINISTRATOR and enter
INSTALLUTIL.EXE B4ASQLServer.exe.
This should return some text indicating it worked or not.
If it looks like it worked, you need to set up your connection to the database it is to use.  This is done by opening
B4ASQLServer.exe.config and setting the connectionstring, UDPReceivePort and UDPReceiveIP Properties.  The VerboseEvents can be set to true to receive more 
detailed log entries
************************
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="B4ASQLServer.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
    <applicationSettings>
        <B4ASQLServer.My.MySettings>
            <setting name="ConnectionString" serializeAs="String">
                <value>Data Source=(Local)\sql17;Initial Catalog=transactionBilling;Integrated Security=False;User ID=sa;Password=Mocrab12</value>
            </setting>
            <setting name="UDPReceivePort" serializeAs="String">
                <value>10001</value>
            </setting>
            <setting name="UDPReceiveIP" serializeAs="String">
                <value>192.168.88.206</value>
            </setting>
		<setting name="DebugDelaySeconds" serializeAs="String">
                <value>0</value>
            </setting>
            <setting name="VerboseEvents" serializeAs="String">
                <value>False</value>
            </setting>
        </B4ASQLServer.My.MySettings>
    </applicationSettings>
</configuration>
**************************************
You are now ready to try start the service
Enter services in the windows search block and open the Services running on the machine.
You should see B4ASQL listed as one of the services on the machine.  (You may have to restart the machine to see it)
Once you have it in the services, try to start it.  If it fails you will likely have to run it under a more secure account.  Right click B4ASql and select Logon.  I entered the administrator account and password but it may work under others.  Once completed, retry starting the service.  Make sure you tell it to start automatically.

Hopefully at this point it started OK.

When the service starts it will try to write an information entry in a Windows event log.  In the windows search box enter event log and open the application that comes up.  You should see B4xSQL under the Applications and Services Logs menu. (Note after you select it, it can take 30 seconds before it opens up to see the children (Again, you may have to reboot the machine to see it.).  

Go back to the services application and restart the service, you should see an entry in the log.

I had trouble getting the program to create the log, but I think I got around it when I got the correct logon privileges set up.  You can create B4XSQL manually but you have to go to the registry.

Once the service is up and running, you will need to set up the device to connect.  If you click label at the bottom of the screen, it will bring up a dialog where you can set the connection info used by the program.  The IP and Port must match what you set in the config file above.  Also remember to open a hole in your firewall for the port you selected.

There is a button at the bottom of the screen labeled Test Socket.  It sends DEMODEMO to the server which the server will reply to without trying to go to a database.  Use it if you have problems determining whether the problem is connecting to the PC Server or the Database.  It will write Socket Communication Confirmed in the field below it.

