• Introduction
  • BoxedApp SDK
  • BoxedApp Packer
  • BoxedApp Packer API
Show / Hide Table of Contents
  • Introduction
  • Which Product to Choose
  • System Requirements
  • Basics
    • Virtual Environment
      • Virtual Environment
      • Attached Processes
      • How Attachment Works
      • Virtual Process
      • Shared Memory
    • Virtual File System
    • Virtual Registry
  • BoxedApp SDK
    • Introduction
    • Virtual Files
      • Creating Virtual Files
    • API
      • Functions
        • BoxedAppSDK_Init
        • BoxedAppSDK_EnableDebugLog
        • BoxedAppSDK_SetLogFile
        • BoxedAppSDK_WriteLog
        • BoxedAppSDK_EnableOption
        • BoxedAppSDK_IsOptionEnabled
        • BoxedAppSDK_RemoteProcess_EnableOption
        • BoxedAppSDK_RemoteProcess_IsOptionEnabled
        • BoxedAppSDK_CreateVirtualFile
        • BoxedAppSDK_CreateVirtualFileBasedOnIStream
        • BoxedAppSDK_CreateVirtualFileBasedOnBuffer
        • BoxedAppSDK_CreateVirtualDirectory
        • BoxedAppSDK_DeleteFileFromVirtualFileSystem
        • BoxedAppSDK_CreateVirtualRegKey
        • BoxedAppSDK_EnumVirtualRegKeys
        • BoxedAppSDK_RegisterCOMLibraryInVirtualRegistry
        • BoxedAppSDK_RegisterCOMServerInVirtualRegistry
        • BoxedAppSDK_AttachToProcess
        • BoxedAppSDK_DetachFromProcess
        • BoxedAppSDK_HookFunction
        • BoxedAppSDK_GetOriginalFunction
        • BoxedAppSDK_EnableHook
        • BoxedAppSDK_UnhookFunction
        • BoxedAppSDK_RemoteProcess_LoadLibrary
        • BoxedAppSDK_SharedMem_Alloc
        • BoxedAppSDK_SharedMem_Free
        • BoxedAppSDK_SharedMem_Lock
        • BoxedAppSDK_SharedMem_Unlock
        • BoxedAppSDK_SharedMem_CreateStreamOnSharedMem
      • Options
    • Use Cases
      • Using COM / ActiveX Object without Registering It in the Registry
      • Loading DLL from Memory
      • Starting Application Directly from Memory
      • Intercepting Functions
    • License
  • BoxedApp Packer
    • Introduction
    • Plugins
    • Virtual Files
    • Virtual Registry
    • Command Line Overriding
    • License
  • BoxedApp Packer API
    • Introduction
    • API
      • Functions
        • BxPackerApi_CreateProject
      • Interfaces
        • IBxProject
          • Methods
            • put_InputPath
            • get_InputPath
            • put_OutputPath
            • get_OutputPath
            • put_ShareVirtualEnvironmentWithChildProcesses
            • get_ShareVirtualEnvironmentWithChildProcesses
            • put_EnableDebugLog
            • get_EnableDebugLog
            • put_EnableVirtualRegistry
            • get_EnableVirtualRegistry
            • put_HideVirtualFileFromFileDialog
            • get_HideVirtualFileFromFileDialog
            • put_AllChangesAreVirtual
            • get_AllChangesAreVirtual
            • put_SetIcon
            • get_SetIcon
            • put_IconPath
            • get_IconPath
            • put_EnableSplashScreen
            • get_EnableSplashScreen
            • put_SplashScreenPath
            • get_SplashScreenPath
    • License

BoxedApp SDK Options

DEF_BOXEDAPPSDK_OPTION__ALL_CHANGES_ARE_VIRTUAL

By default, this option is not set. If this option is set, all the changes, made in the file system or the registry, are stored in the virtual environment. For example:

C++

void main()
{
    BoxedAppSDK_Init();

    BoxedAppSDK_EnableOption(DEF_BOXEDAPPSDK_OPTION__ALL_CHANGES_ARE_VIRTUAL, TRUE);
    {
        // File "virtual.txt" will be created as virtual
        HANDLE hFile = CreateFile(
            _T("virtual.txt"),
            GENERIC_WRITE,
            FILE_SHARE_READ,
            NULL,
            CREATE_NEW,
            0,
            NULL);
    }
    BoxedAppSDK_EnableOption(DEF_BOXEDAPPSDK_OPTION__ALL_CHANGES_ARE_VIRTUAL, FALSE);
}

Delphi

var
  fs: TFileStream;
begin
  BoxedAppSDK_Init();
  BoxedAppSDK_EnableOption(DEF_BOXEDAPPSDK_OPTION__ALL_CHANGES_ARE_VIRTUAL, true);
  // File 'virtual.txt' will be created as virtual
  fs := TFileStream.Create('virtual.txt', fmCreate or fmOpenWrite);
  fs.Free();
  BoxedAppSDK_EnableOption(DEF_BOXEDAPPSDK_OPTION__ALL_CHANGES_ARE_VIRTUAL, false);
end;

DEF_BOXEDAPPSDK_OPTION__EMBED_BOXEDAPP_IN_CHILD_PROCESSES

By default, this option is not set. If this option is set, all the child processes will inherit virtual environment.

DEF_BOXEDAPPSDK_OPTION__ENABLE_VIRTUAL_FILE_SYSTEM

By default, this option is set. If this option is set, all the calls to the file system are intercepted by BoxedApp. Disabling this option turns off the virtual file system.

DEF_BOXEDAPPSDK_OPTION__ENABLE_VIRTUAL_REGISTRY

By default, this option is set. If this option is set, all the calls to the registry are intercepted by BoxedApp. Disabling this option turns off the virtual registry.

DEF_BOXEDAPPSDK_OPTION__EMULATE_OUT_OF_PROC_COM_SERVERS

By default, this option is not set. If this option is set, BoxedApp assumes the creation of COM objects that are implemented as executable files. This allows attaching a COM server process to a shared virtual environment.

DEF_BOXEDAPPSDK_OPTION__INHERIT_OPTIONS

By default, this option is not set. If this option is set, the newly created child process will get the same set of option values as the process that is creating the child process.

Back to top BoxedApp SDK | BoxedApp Packer | BoxedApp Packer API | Download | Buy | Contact us | Copyright © Softanics | Generated by DocFX