Page 1 of 1

New user questions - Enigma VB - 2018-02-04

Posted: Sun Feb 04, 2018 7:16 pm
by CBruce
Hello Enigma,

I've downloaded Engima Virtual Box and installed it into a clean Windows 7 virtual machine that I will use to package an application with Enigma VB... but I need some information so that I can do things correctly and know if Enigma VB will work for me.

I've been reading the forums and still have many questions.

(1.) How do I know what registry, filepath and additional files to set in the Enigma VB dialogs?
(1.A.) Does Enigma VB watch the system while I install and run My.exe on a clean system... and capture that information for me?

(1.B.) Or do I need to use another program (procmon, etc.) to capture all of the system activity that the application has while it is running - so that I know what filepaths, registry entries, DLLs, etc. need to be configured in Enigma VB?

(2.) Application troubleshooting: If user has application problems while running their copy of My_Boxed.exe...
(2.A.) Is there some sort of "inspector" or "export" function/utility that will let me see what values have been set in the virtual registry after My_Boxed.exe has been run?

(2.A.1.) Is there a way edit the virtual registry in a user's My_Boxed.exe package?

(2.B.) If a user has data files that get updated, but stay contained in the My_boxed.exe package...
(2.B.1.) Is there a way to export those files so that I can view the contents when there is an issue?

(2.B.2.) Is there a way to put "fixed" files back into a user's My_Boxed.exe package?

(2.Note.) If the only way to make application data fixes to a single user's My_Boxed.exe package is to use an External Package... I think this is not very good. If I had many users, I could end up with a different My_Fixes_Pack.dat package for every user... that would be very hard to maintain.

(3.) Running My_Boxed.exe with firewall and antivirus rules...
(3.A.) Which EXE do we set exceptions for... My.exe, My_Boxed.exe or both?

(4.) Multiple EXE files in same My_Boxed.exe:
(4.A.) If I have My.exe and My_shelled.exe in the My_Boxed.exe package, does My_Boxed.exe always execute the EXE that was entered into the Enigma VB packager dialog's [Enter Input File Name] field?

(5.) Does Enigma VB have option/utility for creating desktop shortcuts and physical folders when first run - or do I still need to package MY_boxed.exe with an installer (NSIS, etc.) to get this functionality?

(6.) If I use the External Packages...
(6.A.) Can My_Pack.dat contain a new version of My.exe and My.dll - or is an External Package only for new data files, etc.?

(6.B.) Does My_Boxed.exe import the contents of My_Pack.dat into the My_Boxed.exe package - or does My_Pack.dat have to stay there and be available every time that My_Boxed.exe is run?

Thank you for providing Enigma Virtual Box as a free application... and thank you a great deal for any help that you can provide in answering my questions.

CBruce

Re: New user questions - Enigma VB - 2018-02-04

Posted: Mon Feb 05, 2018 1:12 pm
by Enigma
Hi Bruce, thank you for the comment, my reply is below.
CBruce wrote:(1.) How do I know what registry, filepath and additional files to set in the Enigma VB dialogs?
EVB is preferably developed for software developers, who know what files and registry their application is used, so they can add files/registry to EVB. If you plan to pack a 3rd application, i.e. make it portable, then you need to somehow get this list yourself, or maybe with special tools that monitors app installation, and which could tell you what files application installs.
CBruce wrote:(1.A.) Does Enigma VB watch the system while I install and run My.exe on a clean system... and capture that information for me?
No, it does not.
CBruce wrote:(1.B.) Or do I need to use another program (procmon, etc.) to capture all of the system activity that the application has while it is running - so that I know what filepaths, registry entries, DLLs, etc. need to be configured in Enigma VB?
Yes, the direction of your thoughts is correct. You could use something like filemon, regmon etc.
However, most applications are simple enough, they do not have any hidden files or registry entries, and all that you need just add files from the app folder to EVB to pack it.
CBruce wrote:(2.) Application troubleshooting: If user has application problems while running their copy of My_Boxed.exe...
(2.A.) Is there some sort of "inspector" or "export" function/utility that will let me see what values have been set in the virtual registry after My_Boxed.exe has been run?
No, there are no such tools. I just curious where this can be helpful. Usually application developers do own error tracing schemes, make error handling, debug execution and so. So I think this question should be asked to app developers and not EVB.
CBruce wrote:(2.A.1.) Is there a way edit the virtual registry in a user's My_Boxed.exe package?
In theory, yes. EVB does not encode files/registry you add inside (Enigma Protector does it). But such editing would be complex enough and I do not imagine a case where it would be necessary.
CBruce wrote:(2.B.) If a user has data files that get updated, but stay contained in the My_boxed.exe package...
(2.B.1.) Is there a way to export those files so that I can view the contents when there is an issue?

(2.B.2.) Is there a way to put "fixed" files back into a user's My_Boxed.exe package?

(2.Note.) If the only way to make application data fixes to a single user's My_Boxed.exe package is to use an External Package... I think this is not very good. If I had many users, I could end up with a different My_Fixes_Pack.dat package for every user... that would be very hard to maintain.
I think there is some confusion. Imagine, application can make changes to virtual files, it can perform write file and registry operations, but after file restart, all these changes will be ignored. So any changes that program makes to virtual files and registry are effetive only during one running session. These changes are never saved and exist only in memory.
So yes, as you correctly noticed, the one way to get files update is to create an external package. Files in external package will overwrite files in the exe file. The newer package will overwrite the older one, if same virtual file exists in few packages, the file from the newest package will be taken.
CBruce wrote:(3.) Running My_Boxed.exe with firewall and antivirus rules...
(3.A.) Which EXE do we set exceptions for... My.exe, My_Boxed.exe or both?
Since you run only My_Boxed.exe, the rules should be applied to this file only.
CBruce wrote:(4.) Multiple EXE files in same My_Boxed.exe:
(4.A.) If I have My.exe and My_shelled.exe in the My_Boxed.exe package, does My_Boxed.exe always execute the EXE that was entered into the Enigma VB packager dialog's [Enter Input File Name] field?
EVB does not run files that you add inside. Since you pack My.exe to My_Boxed.exe, do not divide them, your My_Boxed.exe is really your original My.exe. So if your My.exe runs My_shelled.exe, then after packing the My_Boxed.exe will work the same, it will still run your My_shelled.exe. EVB itself does not run anything.
CBruce wrote:(5.) Does Enigma VB have option/utility for creating desktop shortcuts and physical folders when first run - or do I still need to package MY_boxed.exe with an installer (NSIS, etc.) to get this functionality?
EVB does not have this. If you need such functionality, you still need somehow to do that yourself.
CBruce wrote:(6.) If I use the External Packages...
(6.A.) Can My_Pack.dat contain a new version of My.exe and My.dll - or is an External Package only for new data files, etc.?
Since you pack My.exe, even if you include it into package, the exe file that you've packed will be used.
As for My.dll - yes, you can update it using packaging feature, that's correct. But this does not work for main exe that you pack.
CBruce wrote: (6.B.) Does My_Boxed.exe import the contents of My_Pack.dat into the My_Boxed.exe package - or does My_Pack.dat have to stay there and be available every time that My_Boxed.exe is run?
Package file contains defition for files that you included there, so it has always to stay together with packed exe. EVB does not import it somehow, it just uses it.

Re: New user questions - Enigma VB - 2018-02-04

Posted: Mon Feb 05, 2018 2:00 pm
by CBruce
Hi Enigma,

Thank you for the very useful answers!

Regarding my registry and file questions...

In the past, I have worked at companies where we utilized ThinApp and App-V application virtualization tools. In those tools, you can specify which files and which registry entries to include inside the wrapper.

-----------------
For files:

If I am on a workstation or a terminal server session where the admin has locked the user out of writing to the C: root directory - but the third party application we use is hardcoded to write to a file like "C:\user_data.db"... when we wrap the application, we also include the "user_data.db" file, and we give it the virtual path of "C:\".

The user can now run the application and it can update virtual "C:\user_data.db" file the DOC file and those changes are saved between sessions.

In this case, the real "user_data.db" file probably resides in "C:\users\this_user\some_path\"... but the application thinks that it is writing to "C:\" - so the admin, the user, and the application are all happy.
-----------------
For registry - much the same:

The application might be hardcoded to write to HKLM - which the user has been locked out of... they can only modify HKCU.

When we wrap the application, we specify that any writes it makes to HKLM are to be virtualized. Those writes are actually saved to a file in the user's home directory.

Whenever the application needs to read its HKLM keys, the wrapper first checks its "virtual registry file" to see if the key data exists there... if it does it uses that data instead of reading it from HKLM in the real registry.

Again, all of these registry changes are saved between sessions.
-----------------

Since all virtualized changes are saved between sessions... every time the user launches the wrapped application - the state of their data and registry are the same as the last time they ran the app... nothing has been reset and lost.

Enigma, from your answers, it sounds like Enigma VB throws away any changes, to its wrapped files and registry entries, whenever the user exits the wrapped application... is that correct?

Thanks!
CBruce

Re: New user questions - Enigma VB - 2018-02-04

Posted: Wed Feb 07, 2018 8:45 am
by Enigma
Hi Bruce,

Yes, EVB does not save these changes. All changes that had been made to virtual files or registry entries are being discarded after application restart.

This is what we are working on for new versions.