[C#/WPF/.NET8] WPF 애플리케이션에서 System.Windows.Forms 네임스페이스 참조하기
■ WPF 애플리케이션에서 System.Windows.Forms 네임스페이스를 참조하는 방법을 보여준다. 1. 프로젝트 파일을 연다. 2. 아래 내용을 프로젝트 파일에 추가한다. ▶ 예제 코드 (.csproj)
■ WPF 애플리케이션에서 System.Windows.Forms 네임스페이스를 참조하는 방법을 보여준다. 1. 프로젝트 파일을 연다. 2. 아래 내용을 프로젝트 파일에 추가한다. ▶ 예제 코드 (.csproj)
■ CUDA Toolkit을 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을 실행해 시스템을
■ nvidia-smi 명령을 사용해 GPU 정보를 조회하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래
■ nvcc 명령에서 –version 옵션을 이용해 nvcc 버전을 구하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2.
■ which 명령을 사용해 nvcc(NVIDIA CUDA Compiler) 설치 경로를 구하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다.
■ Python 프로그램을 자동 설치하는 방법을 보여준다. ▶ Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
using System; using System.Diagnostics; using System.IO; using System.Net.Http; using System.Threading.Tasks; namespace TestProject; /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 프로그램 시작하기 - Main() /// <summary> /// 프로그램 시작하기 /// </summary> /// <returns>태스크</returns> static async Task Main() { string installerURL = "https://www.python.org/ftp/python/3.12.4/python-3.12.4-amd64.exe"; string installerFilePath = @"C:\temp\python_installer.exe"; if(!Directory.Exists(@"C:\temp")) { Directory.CreateDirectory(@"C:\temp"); } Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss")}] 파이썬 설치 프로그램 다운로드를 시작합니다."); await DownloadFileAsync(installerURL, installerFilePath); Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss")}] 파이썬 설치 프로그램 다운로드를 종료합니다."); Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss")}] 파이썬 프로그램 설치를 시작합니다."); ProcessStartInfo processStartInfo = new() { FileName = installerFilePath, Arguments = "/quiet InstallAllUsers=1 PrependPath=1", // 자동 설치를 위한 인자 UseShellExecute = false }; Process process = new() { StartInfo = processStartInfo }; process.Start(); process.WaitForExit(); Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss")}] 파이썬 프로그램 설치를 종료합니다."); string pythonFilePath = @"C:\Program Files\Python312\python.exe"; if(File.Exists(pythonFilePath)) { Console.WriteLine("Python이 성공적으로 설치되었습니다."); } else { Console.WriteLine("Python 설치에 실패했습니다."); } Console.WriteLine("프로그램을 종료하기 위해 아무 키나 눌러 주세요."); Console.ReadKey(false); } #endregion #region 파일 다운로드하기 (비동기) - DownloadFileAsync(url, filePath) /// <summary> /// 파일 다운로드하기 (비동기) /// </summary> /// <param name="url">URL</param> /// <param name="filePath">파일 경로</param> /// <returns>처리 결과</returns> private static async Task<bool> DownloadFileAsync(string url, string filePath) { using HttpClient client = new HttpClient(); try { using HttpResponseMessage response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead); response.EnsureSuccessStatusCode(); using Stream stream = await response.Content.ReadAsStreamAsync(); using FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None); await stream.CopyToAsync(fileStream); return true; } catch(HttpRequestException) { return false; } } #endregion } |
TestProject.zip
■ NSIS를 이용해 WinUI 3 버전 애플리케이션의 설치 파일을 만드는 방법을 보여준다. ※ NSIS 프로그램이 설치되어 있는 것으로 가정한다. ※ TestSolution.zip 파일
■ WinUI 3 버전 애플리케이션 배포용 기본 NSIS 스크립트를 만드는 방법을 보여준다. ▶ TestProject.nsi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
; 설치 프로그램의 이름 정의 Name "TestProject" ; 생성될 설치 파일의 이름 OutFile "D:\TestProjectSetup.exe" ; 기본 설치 디렉토리 InstallDir "$PROGRAMFILES\TestProject" ; 필요한 관리자 권한 요청 RequestExecutionLevel admin ; 설치 페이지 정의 Page directory Page instfiles ; 언인스톨 페이지 정의 UninstPage uninstConfirm UninstPage instfiles ; 설치 섹션 Section "Install" ; 설치 디렉토리 설정 SetOutPath $INSTDIR ; 파일 복사 (D:\testproject\deploy의 모든 파일과 하위 디렉토리) File /r "D:\TestSolution\TestProject\bin\Release\net8.0-windows10.0.19041.0\win-x64\*.*" ; 시작 메뉴 바로가기 생성 CreateDirectory "$SMPROGRAMS\TestProject" CreateShortcut "$SMPROGRAMS\TestProject\TestProject.lnk" "$INSTDIR\TestProject.exe" ; 언인스톨러 생성 WriteUninstaller "$INSTDIR\Uninstall.exe" ; 레지스트리에 언인스톨 정보 추가 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestProject" \ "DisplayName" "TestProject Application" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestProject" \ "UninstallString" "$\"$INSTDIR\Uninstall.exe$\"" SectionEnd ; 언인스톨 섹션 Section "Uninstall" ; 설치된 파일 삭제 RMDir /r "$INSTDIR" ; 시작 메뉴 바로가기 삭제 RMDir /r "$SMPROGRAMS\TestProject" ; 레지스트리 항목 삭제 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestProject" SectionEnd |
■ Microsoft.Windows.SDK.BuildTools 누겟을 설치하는 방법을 보여준다. 1. Visual Studio를 실행한다. 2. [도구] / [NuGet 패키지 관리자] / [패키지 관리자 콘솔] 메뉴를 실행한다.
■ .NET 8.0 런타임을 설치하는 방법을 보여준다. 1. 웹 브라우저를 실행하고 아래 URL을 입력한다. ▶ URL
1 2 3 |
https://dotnet.microsoft.com/ko-kr/download/dotnet/thank-you/runtime-desktop-8.0.6-windows-x64-installer |
2. 아래 화면과 같이 웹
■ OLLAMA를 설치하는 방법을 보여준다. (UBUNTU) 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을 실행해 ollama
■ HELLO WORLD 앱을 만드는 방법을 보여준다. (UBUNTU) 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ AIEXE를 설치하는 방법을 보여준다. [Node.js 설치하기] 1. 웹 브라우저를 실행하고 아래 URL를 입력하고 ENTER 키를 누른다. ▶ URL
1 2 3 |
https://nodejs.org |
2. 아래
■ WSL 우분투에서 CUDA를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을 실행해
■ which 명령을 사용해 파이썬(Python) 설치 경로를 구하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서
■ PyInstaller 패키지를 설치하는 방법을 보여준다. PyInstaller 패키지는 설치만 하고 소스 코드에서 import하지 않는다는 점에 주의한다. 1. 명령 프롬프트를 실행한다. 2. 명령
■ apt-get install 명령을 사용해 FFMPEG을 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래
■ python3-pip 모듈을 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을 실행한다. ▶
■ 우분투에서 도커로 PostgreSQL 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ 우분투에서 도커로 MySQL 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ 우분투에서 도커로 MongoDB 데이터베이스를 설치하는 방법을 보여준다. 1. CTRL + ALT + T 키를 눌러서 [터미널]을 실행한다. 2. [터미널]에서 아래 명령을
■ dism 명령을 사용해 시스템 파일 손상 검사와 손상된 파일을 복원하는 방법을 보여준다. ※ 일부 윈도우즈 기능이 작동하지 않는 등 파일이 없거나
■ dism 명령을 사용해 [가상 머신 플랫폼] 윈도우즈 기능을 켜는 방법을 보여준다. 1. 관리자 권한으로 [PowerShell]을 실행한다. 2. [PowerShell]에서 아래 명령을 실행한다.
■ dism 명령을 사용해 [Linux용 Windows 하위 시스템] 윈도우즈 기능을 켜는 방법을 보여준다. 1. 관리자 권한으로 [PowerShell]을 실행한다. 2. [PowerShell]에서 아래 명령을
■PyInstaller 모듈에서 .spec 파일을 사용해 실행 프로그램을 생성하는 방법을 보여준다. 1. 아래와 같이 .spec 파일을 작성한다. ▶ TestProject.spec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# -*- mode: python ; coding: utf-8 -*- a = Analysis( ['main.py'], pathex=[], binaries=[], datas=[('./images/*', './images')], hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, a.binaries, a.datas, [], name='TestProject', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon=['images\\mars.ico'], ) |
2. 아래와 같이