Deploy C++ MFC application with folder strucuture and .ini file - c++

Good Morning,
I have a C++ MFC application generated with VS2013 that I would like to deploy. I am storing some persistent values in an .ini file in a certain location on the c-drive.
How can I create an install version that automatically creates this folder structure for me and puts the .ini file there?
I already experimented with the free version of Installshield but I cannot make the folder/.ini generation work.
Any suggestions?

Related

Writing an Installer that contains .exe files, which it then runs/extracts, using C++

I'm trying to write a custom installer for a project, which acts like a one in all .exe.
The project persists of a mariadb installer, a xampp installer and some other php files.
I want the result to be a single executable file which contains both of the installer files and all of the other files, which it then extracts and does futher stuff to, which isn't important for the issue.
The .exe files are just for temporary use while they are installing their content via a silent install.
I read about the concept of embedded files but didn't find working examples of that for visual studio 2022.
What would be a good approach to archieve that?

How to create an installer for C++ program without exposing key files for Windows

I have created an application using qt creator which creates an .exe file. At runtime the .exe file uses dlls and a few tensorflow graphs. I tried using advanced installer for this and all my key tensorflow graphs are exposed in the directory in which the installer unloads the files. This is a problem because I need to send it to the customer and need all these files hidden. I wanted to know if there is a way to hide these files while creating the installer.

Keeping source folder structure in windows runtime application assets

I am trying to create a Windows runtime application (in c++) and I want to store some "external" files in the application's Assets. I figured out there is a 'Content' flag which makes the file included in the package. However, if files are not located in the solution folder, all the files from all subfolders go directly into the Assets folder, which creates a huge mess. I want to keep my source folder structure. This works if the assets are located in the solution folder, but this is inconvenient for me.
On Android, you simply specify any assets folder location, and this folder is packaged as is. Can I do something like this on windows?
This post sort of gives answer to this question: Assets folder for Windows 8 Phone app.
However it feels like almost nobody including me have that drop-down option on the Add button (I am using VS2013 Ultimate Update 4).
So is there another solution? Can I for instance edit the visual studio project by hands?
Add as Link is only available for C# and VB Projects.

How to backup the generator cache/settings for cmake gui on windows?

We are developing a module for opencv to use internal and we would like not to check in the full opencv to TFS.
Is there any way to save all the settings from the cmake gui application such when a new developer joins the team he can easily just download opencv and include the settings for generating the solution files?
There is a CMakeCache.txt file in your build directory. It stores the values changed in the gui application.
If you copy this to a new build and reload the cache, the settings should be restored and you can generate the build files.

VS2010 Solution under TFS 2010 source control cotaining a C++ project gives warning when opened

I have just taken over the maintenance of a project. It is a VS2010 solution which in amongst its projects includes a C++ project. The whole solution is kept in TFS 2010 as a source control system.
Now whenever I open the solution VS2010 presents me with this annoying dialog;
Visual C++ found a suitable location to store its browsing database and IntelliSense files
for the solution
"C:\***\****x.sln."
Visual C++ examined the folder "C:\***\A***LL."
This folder is not suitable because of the following:
The browsing database in this directory has the read-only attribute and cannot be written to.
The directory is on a local drive.
Because a 'Fallback Location' was not specified in the C++ Advanced Options, Visual C++ is
attempting to use your temporary directory.
Visual C++ examined the folder "C:\Users\***\AppData\Local\Temp\VC++\c****-57e7d5e2." This folder is suitable because of the following:
The directory is on a local drive.
The 'Fallback Location' is configurable under C++ Advanced Options.
Press OK to use this location.
It looks like this is caused by the C++ solutions *.SDF file being under source control, meaning when the solution is opened (despite being under source control) its read only hence the read only bit of the dialog.
So my question is whats the best practice for a C++ project under TFS source control?
Should I remove the .sdf file from source control, leaving VS to recreate this everytime somone gets the solution?
Should I tick the use fallback option efectivly bypassing the .SDF in the repository
or
Is there a better way that lets VS2010 know the SDF file is under source control so it can automatically check it out when it opens the project?
I can only recommend to exclude the sdf from source control. You have no benefit from versioning it, since it's generated every time something changes, which will be almost everytime. As an mantra one could say, that you should never versioning binary files unless it's absolutely necessary to share them (eg. icons and images that are needed).
My issue was with an Unreal Engine 4 solution. The issue was that I had moved the project's intermediate folder (which included build files), and then it was re-generated (without build files) the next time the editor was opened. The fix was to delete the new intermediate folder and re-migrate the old folder to the project directory.
If you had already deleted the intermediate folder and don't have a backup, the fix is most likely to rmb the .uproject>generate visual studio project files.