Hi,
You haven't said in what way does this not work (e.g. how are you using this method) but if you are marking a method as async, then you are creating a promise despite the string return value.
Here I have explained this in a bit more detail: Hashing and Cryptography in WEB Core - #14 by Tunde
It might be confusing at first but once the idea gets accross, you'll be able to navigate async-await better.
What you can do is wrap your ReadIniFile
as a promise, resolve with the string result and then from other async methods you can await your ReadIniFile
with a string return value.