Samba V5 - Where are program and local settings stored?

I am very new to Samba. Actually I’m fairly new to POS systems as a whole. I come from a development background in other industries. I am working on building a script (executable Python script) that will create a working SambaPOS system. I am at the point where I am making sure certain settings are pre-loaded into the system.

I found the SambaSettings.txt file for some of the settings and have been searching the database for others, but I am having trouble hunting down some the program and local settings.

Things I am hunting for:
Settings->Local Settings->Message Server->Auto Start Message Client

Settings->Program Settings->Error Reports & Usage->Auto Display News Tab on Management Screen

These don’t appear to be saved in the SambaSettings.txt and I have yet to find a database table with them in it yet, but I am still looking. Wanted to throw this out to the forum to see if anyone knows.

Thank you in advance!

One down! I found the setting for the news tab in the database.

ProgramSettingValues->DisableManagementAutoNewsTab

It’s a boolean value and it is a little backwards from what you would think based on the setting’s name in the database (DisableManagementAutoNewsTab). Look at it from the point of view of the text in the system (Auto Display News Tab on Management).

  • “False” means the auto news pop-up is disabled
  • “True” means it is enabled.

UPDATE

As I am learning the system I am finding more things. I discovered that the SambaSettings.txt file under C:\ProgramData is used to define settings when SambaPOS is started for the first time. I was able to get the ‘Auto Start Message Client’ field to be checked when I changed this in the file:
<StartMessagingClient>true</StartMessagingClient>

However, I am still unsure where that setting is stored after the initial launch. Making local setting changes for the messaging server in the application does not update that file. Also, changes to that file after the initial launch do not affect the settings.

Found it! I apologize for flooding my question with replies.

I was looking at the incorrect SambaSettings.txt file.

My Findings

Local Settings: Stored in %APPDATA%\Roaming\SambaPOS\SambaPOS5\SambaSettings.txt

Program Settings: Stored in the database table ProgramSettingValues

1 Like

Hi Jason,

Interesting idea, I have also had similar thoughts recently on simplifying setup related to Local Settings, however can I ask what is your use case? What is your goal of scripting this part?

I ask as you maybe over complicating things by scripting this, whereas simply copying the SambaSettings.txt file may suffice?

When we resell SambaPOS, we have a few base setups we use depending on the type of customer and location (e.g. my company deals mostly in the UK so we have one for takeaways and another for restaurants) and we add all the specific customisations and extra features onto these base databases. We use whichever base setup is relevant for the customer then add menu and anything else needed.

Most of our customers are buying hardware from us also as a package, so we generally have a pre-imaged Windows POS terminal using Win10 IoT where we have SQL Express, SSMS, SambaPOS all pre-installed so the SambaSettings.txt already has all our defaults in it, so never have to touch it. That works for us and we can take a new “blank” POS terminal and apply our Windows image then upload the customer’s SambaPOS setup (we have created already) all within 30 minutes or so.

Just keep in mind, from my own experience, this setting will not “stick” until you have activated a license on the SambaPOS setup. If it is still in trial / demo mode, when you next open SambaPOS it will revert back to displaying the news tab.

1 Like

Hi Mark,

Thanks for your thoughtful reply!

We’ve been exploring both a scripting approach and a system imaging approach for setting up default installations. Like you, we typically provide the entire package, including hardware, so imaging will likely be our go-to for most deployments.

That said, the scripting path may prove useful for customers transitioning from another POS system to SambaPOS, or in cases where we want to automate specific aspects of the setup without a full image.

Our broader goal with the script is to streamline installation of the full environment, including .NET, SQL Server, Samba (POS and Messaging Server), data imports, settings, and a few custom applications and scripts. I agree that scripting just for the SambaSettings.txt file wouldn’t justify the effort on its own.

As someone new to SambaPOS and POS support in general, I’ve enjoyed exploring the system and understanding how its various components work together while I build the script. Even if we don’t end up using it in the long term, the process has been a valuable learning experience.

1 Like

I have automated all aspects of this through a platform called Ninjaone. Most of it was done with powershell scripts, and remote management. I will share some of my work soon. I already have it where I can press 1 button or even schedule it out, and it will fully setup a server with sql, firewall ports opened, Message server installed, sambapos installed, and ready. All you need to do is license sambapos and start it up. I also automated the silent update of terminals. We can update unlimited terminals at the same time with push of a button. IT will close sambapos if its running, copy any logo files, copy any payment controllers, uninstall sambapos, install the update, recopy everything over, and restart sambapos. 1 button press and every terminal is updated to the new version and ready to go. All unattended and do not have to remote in, all done at same time.

2 Likes

The platform easily allows management of terminals without having to remote into them. Every aspect can be monitored, Notifications and tickets can be generated for things like, message server ram usage exceeding threshold, message server stopped, sql server issues, terminal offline. etc.

In this example you can see on right i sent command to copy over and install a new payment controller. And then restart sambapos.

Most of the automation i did with scripting and the ninja tools just makes it easy and organized, however other aspects of this service really makes my job easier. It can controll windows updates, i mean everything can be controlled and managed and scheduled out.

I was planning to sell this service to other resellers once I finished setting up the automations. You would get your own login, own dashboard, all the automations i mentioned would be included. However if you want to try yourself you can download and do a trial of ninjaone. You can also directly contact them. Once my configuring is done and im ready to offer the tailored customized sambapos version of NinjaOne ill post it here with pricing.

It does support remote management for when you do need to connect and control a machine, the experience is almost identicle to anydesk. It does have a background mode where you can connect and control it and do most things without affecting the user thats currently using it.. they wont even know your connected. They can be using it and you can be doing some maintenence at same time in a different desktop instance and they will not be interupted.

1 Like

This looks interesting. I hadn’t heard of NinjaOne before, but looking on their website they don’t quote any pricing and that usually means it’s expensive. From what I’ve read users saying online it can be thousands per year. WIll be interested to see what you offer with a SambaPOS specific package.

I also was looking at some RMM and automation software a couple months ago, but was generally looking around free / open source options. There are definitely some good solutions out there you can self host but I didn’t get further than doing some research.

Pretty much all the things you mentioned was what I was trying to accomplish. Setting up systems with imaging is fine when we supply hardware with Win 10 IoT, but it gets more complicated when we use tablets that are running Win 11 Home - can’t really image that especially when the hardware can vary. For that I was looking at ways to just automate everything from a fresh OOBE - updating to latest Windows version and all updates, install SQL Server, SSMS, SambaPOS, etc., all just handled by scripts so it can be started and left to run without any user intervention and any issues reported back.

1 Like

It’s priced on a per terminal basis. I paid $80/m for 50 terminals. Price goes down as you add in bulk. It’s not for everyone. If you don’t want to work the cost into your business it may not be for you. But considering what it can do the cost was a very easy justification for me.

1 Like