fix: initialize selected runtime for live playout
This commit is contained in:
44
README.md
44
README.md
@@ -55,7 +55,8 @@ Oracle/MariaDB 조회 계층, 원본 10초 DB 상태 감시, Tornado/K3D 어댑
|
||||
## Visual Studio 2026에서 실행
|
||||
|
||||
상사 PC처럼 기존 코더 자산과 K3D가 설치된 개발 PC에서는 별도 PowerShell 명령을 먼저 실행할
|
||||
필요가 없습니다.
|
||||
필요가 없습니다. 솔루션 루트의 `.vsconfig`가 요구하는 **WinUI 애플리케이션 개발** 워크로드가
|
||||
없으면 Visual Studio의 설치 안내를 먼저 완료하고 Visual Studio를 다시 시작합니다.
|
||||
|
||||
1. `MBN_STOCK_WEBVIEW.sln`을 엽니다.
|
||||
2. 솔루션 구성을 `Debug`, 플랫폼을 `x64`로 선택합니다.
|
||||
@@ -85,34 +86,42 @@ Tornado2/PGM에 연결하거나 명령을 보내지 않습니다. 출력과 중
|
||||
- `Cuts`: 실제 실행 자산의 `Cuts` 폴더
|
||||
- `설정/INI (Res)`: 기존 코더가 사용하는 실제 `Res` 폴더
|
||||
|
||||
첫 실행 설정은 두 폴더 안의 파일을 열거·파싱·복사하지 않습니다. 폴더 경로만
|
||||
첫 실행 설정은 선택한 `Res`의 정확한 `MmoneyCoder.ini`에 Oracle/MariaDB 설정이 모두
|
||||
있는지 검증합니다. 파일을 다른 위치나 빌드 출력에 복사하지 않으며, 이후 전체 앱은 저장된
|
||||
`Res\MmoneyCoder.ini`를 매 실행 직접 사용합니다. 두 폴더 경로는
|
||||
`%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\Config\runtime-folders.local.json`에 저장하고,
|
||||
같은 공통 부모를 Git 제외 `Directory.Build.local.props`에 기록합니다.
|
||||
두 폴더는 같은 공통 부모 아래에 나란히 있어야 하며 폴더 이름도 각각 `Cuts`, `Res`여야
|
||||
합니다. 소스 트리의 오래된 `RES`나 이름이 비슷한 백업 폴더가 아니라 기존 코더가 실제
|
||||
실행에 사용하던 `bin\Debug\Cuts`, `bin\Debug\Res` 성격의 폴더를 선택합니다.
|
||||
|
||||
`설정 시작`은 PowerShell, `dotnet build`, DB 복사, K3D 검사 또는 Tornado2/PGM 작업을
|
||||
실행하지 않으므로 즉시 완료되어야 합니다. 전체 앱 빌드는 창을 닫고 누르는 다음 F5에서
|
||||
진행됩니다. 이때도 `Cuts`는 복사하지 않고 선택한 원래 경로를 직접 사용합니다.
|
||||
`설정 시작`은 저장소의 검증된 초기화기를 실행해 `C:\K3DAsyncEngine`의 x64 파일과
|
||||
Registry64 등록, 지속 K3D pin, `127.0.0.1:30001` Development Live 승인 및 Debug x64
|
||||
빌드를 한 번에 확인하므로 시간이 걸릴 수 있습니다. 이 과정은 DB 연결, K3D COM 활성화,
|
||||
Tornado2/PGM 연결이나 송출 명령을 실행하지 않습니다. 성공 뒤 누르는 다음 F5에서는
|
||||
`Cuts`와 `Res\MmoneyCoder.ini`를 복사하지 않고 선택한 원래 경로를 직접 사용합니다.
|
||||
|
||||
Development Live용 DB overlay, K3D pin과 승인 파일이 아직 없는 PC는 별도의
|
||||
`Initialize-ExistingDevelopmentPc.ps1` 수동 절차를 완료하기 전까지 전체 앱 기동이
|
||||
차단됩니다. 첫 실행 폴더 저장은 이 보호 설정을 만들거나 변경하지 않습니다.
|
||||
K3D는 다음 회사 표준 배치만 허용합니다.
|
||||
|
||||
- native: `C:\K3DAsyncEngine\DLL\x64\Release\K3DAsyncEngine.dll`
|
||||
- Interop: `C:\K3DAsyncEngine\Bin\x64\C#\Interop.K3DAsyncEngineLib.dll`
|
||||
|
||||
Registry64의 TypeLib, KAEngine, KAEventHandler가 모두 위 native DLL을 가리키지 않거나 파일·
|
||||
AMD64·해시 검증이 실패하면 설정 완료를 표시하지 않습니다.
|
||||
|
||||
초기화가 성공하면 Visual Studio에서 `Debug|x64`, `Legacy Parity App (VS F5)`,
|
||||
`MBN_STOCK_WEBVIEW.LegacyParityApp - Development Live (Package)`를 선택해 F5로 시작합니다.
|
||||
앱이나 빌드 출력이 `SourceOnly` 또는 Live 기동 차단이라고 표시되면 송출을 시도하지 말고
|
||||
Development Live 준비 상태를 확인합니다. 최초 실제 확인은 [개발 PGM 인수 절차](docs/DEVELOPMENT_LIVE_HANDOFF.md)에 따라
|
||||
`5001` 하나로 진행합니다. Debug와 Release의 일반 실행은 모두 같은 보호된 Live
|
||||
부트스트랩을 사용합니다. 이 프로필은 보호된 LocalAppData 설정만 읽고 상속된
|
||||
`MBN_STOCK_PLAYOUT_*`·DB 환경 변수를 무시합니다. scene root는 첫 실행에서 저장한 원래
|
||||
`Cuts` 경로로 고정하며 strict
|
||||
부트스트랩을 사용합니다. 이 프로필은 보호된 LocalAppData 송출 설정을 읽고 상속된
|
||||
`MBN_STOCK_PLAYOUT_*`·DB 환경 변수를 무시합니다. scene root와 DB INI는 첫 실행에서 저장한
|
||||
원래 `Cuts`, `Res\MmoneyCoder.ini` 경로로 고정하며 strict
|
||||
검증이 실패하면 Live 엔진을 만들지 않고 명확한 기동 오류를 표시합니다.
|
||||
|
||||
같은 clone에서는 로컬 연결 파일이 Git에 덮어써지지 않으므로 이후에는 `git pull` 후 F5로
|
||||
확인할 수 있습니다. 저장소를 새 폴더에 다시 clone하거나 자산·DB 폴더 연결이 바뀌면 첫 실행
|
||||
설정을 다시 진행합니다. K3D DLL이 최초 기준과 달라진 경우에는 경로 저장을 반복해도 자동
|
||||
설정을 다시 진행합니다. K3D DLL이 최초 기준과 달라진 경우에는 자동 설정을 반복해도 자동
|
||||
재승인되지 않습니다. 벤더 변경을 독립적으로 검증한 뒤 두 SHA-256을 명시해 수동 교체해야
|
||||
합니다. pull 뒤 Required 자산 검증이 실패하는 경우에도 F5를 계속 시도하지 말고 설정 오류를
|
||||
바로잡습니다.
|
||||
@@ -176,11 +185,12 @@ Release MSIX는 전체 런타임 자산을 필수로 검증합니다. 원본 위
|
||||
|
||||
원본 `Res/MmoneyCoder.ini`의 값은 저장소에 복사하지 않았습니다. 전체 자산 Debug 빌드,
|
||||
소스 전용 빌드, 게시와 MSIX 모두 이 자격증명 파일을 빌드 입력이나 출력으로 사용하지 않습니다.
|
||||
전체 자산 Debug/MSIX는 `%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\Res\MmoneyCoder.ini` 또는 기존
|
||||
`database.local.json`을 사용하고, 소스 전용 빌드는 DB 미연결을 강제합니다. 일반 실행에서는
|
||||
환경 변수가 선택된 파일보다 우선하지만, 검증된 Development Live 프로필은 이 override를
|
||||
의도적으로 무시하고 위 LocalAppData 파일만 사용합니다. 설정 우선순위, 보안과 실제 DB 스모크 방법은
|
||||
[DB 운영 가이드](docs/DATABASE.md)에 정리했습니다.
|
||||
검증된 Development Live는 저장된 `Res` 경로가 있으면 그 폴더의 정확한
|
||||
`MmoneyCoder.ini`를 매 실행 직접 읽고 DB 환경 변수를 무시합니다. 파일이 없거나 안전·형식
|
||||
검증에 실패해도 LocalAppData 설정으로 대체하지 않고 앱의 Live 엔진 및 자동 연결을
|
||||
차단합니다. 아직 선택된 `Res`가 없는 기존 설치에서만 보호된 LocalAppData INI→JSON 순서를
|
||||
사용하며, 소스 전용 빌드는 DB 미연결을 강제합니다. 설정 우선순위, 보안과 실제 DB 스모크
|
||||
방법은 [DB 운영 가이드](docs/DATABASE.md)에 정리했습니다.
|
||||
|
||||
MSIX 설치 폴더는 읽기 전용입니다. 전체 자산 빌드에서는 읽기 전용 원본 `Cuts` 179개와 허용된
|
||||
UI용 `Res` 파일이 실행 출력·게시·MSIX에 포함되지만, DB 자격증명 INI·백업·인증서·벤더 DLL은
|
||||
|
||||
Reference in New Issue
Block a user