ĐÓNG GÓI PHẦN MỀM THÀNH FILE EXE

Xin kính chào các bạn, bài viết bây giờ bản thân đang lý giải các bạn đóng gói phần mềm thành tệp tin setup installer áp dụng script PowerShell.

Bạn đang xem: Đóng gói phần mềm thành file exe

Sau Lúc chúng ta viết hoàn thành ứng dụng bên trên Winsize, các bạn cần phải đóng gói ứng dụng thành tệp tin thiết đặt.

Bình thường xuyên, các bạn sẽ sử dụng phần mềm: Advance Installer, One Click Install hay Installshield...

Trong nội dung bài viết này mình vẫn hướng dẫn chúng ta gói gọn vận dụng tool bé dại thiết lập áp dụng script PowerShell.

Lợi ích của việc gói gọn này là tệp tin thiết lập của người tiêu dùng khoảng 300MB (nếu bạn như thế nào code bằng Devexpress thì vẫn thấy dung tích khôn xiết nhiều).

khi setup build thì tệp tin Exe bọn họ chỉ với khoảng chừng khoảng 300KB, góp họ dễ dàng phân chia đang.

Xem thêm: Noel Tặng Gì Cho Bạn Gái Ngày Noel Tặng Quà Gì Cho Bạn Gái, Noel Tặng Quà Gì Cho Bạn Gái

Nhược điểm: Muốn cài đặt đề nghị bao gồm mạng internet.

Các chúng ta cũng có thể msống công tác Powershell ISE, nhằm code script

*

Các bước gói gọn phần mềm SVG Collection của chính mình.

Cách 1: Nén File áp dụng sinh sống tlỗi mục Release lên hosting web của các bạn

Và khi chạy Script thiết lập bọn họ đang triển khai quá trình công việc sau:

Bước 2: Download tệp tin trường đoản cú hosting name VD: https://au-79.net/svg_csharp.rar 

Cách 3: Giải nén tệp tin rar vào thư mục chúng ta chỉ định

Cách 4: Xóa File rar bọn họ đang thiết lập về

Cách 5: Chạy msống vận dụng lên

Bước 6: Tạo shortcut ứng dụng trước Desktop.

Script bản thân viết cũng dễ dàng các bạn chỉ việc vào chỉnh sửa những thông số kỹ thuật lại là dứt nhé.

Sau Lúc Viết Script PowerShell xong, chúng ta vẫn áp dụng PS2EXE => chuyển file script thành file EXE

Video chạy thử vận dụng sản xuất sau khoản thời gian sản xuất tệp tin thiết lập thành công:

Source code full script PowerShell setup:

::InputEncoding = ::OutputEncoding = New-Object System.Text.UTF8Encoding$host.UI.RawUI.WindowTitle = "Cài đặt ứng dụng Powershell - https://au-79.net"Add-Type -AssemblyName System.Windows.Forms$browser = New-Object System.Windows.Forms.FolderBrowserDialog$browser.Description = "Bạn Hãy chọn tlỗi mục cài đặt phần mềm"$null = $browser.ShowDialog()$temp = $browser.SelectedPathWrite-đầu ra $temp$url = "https://au-79.net/svg_csharp.rar"$output = $temp + "svg_csharp.rar"$start_time = Get-Date#Import-Module BitsTransfer#Start-BitsTransfer -Source $url -Destination $output#OR#Start-BitsTransfer -Source $url -Destination $output -AsynchronousFunction Get-Webfile ($url) $dest = $output Write-Host "Đang thiết lập $url`n" -ForegroundColor DarkGreen; $uri=New-Object "System.Uri" "$url" $request=::Create($uri) $request.set_Timeout(5000) $response=$request.GetResponse() $totalLength=::Floor($response.get_ContentLength()/1024) $length=$response.get_ContentLength() $responseStream=$response.GetResponseStream() $destStream=New-Object -TypeName System.IO.FileStream -ArgumentList $dest, Create $buffer=New-Object byte<> 10KB $count=$responseStream.Read($buffer,0,$buffer.length) $downloadedBytes=$count while ($count -gt 0) ::CursorLeft = 0 ::Write("Đang mua ứng dụng 0K of 1K (2%)", ::Floor($downloadedBytes/1024), $totalLength, ::Round(($downloadedBytes / $length) * 100,0)) $destStream.Write($buffer, 0, $count) $count=$responseStream.Read($buffer,0,$buffer.length) $downloadedBytes+=$count Write-Host "" Write-Host "`nDownload of `"$dest`" finished." -ForegroundColor DarkGreen; $destStream.Flush() $destStream.Close() $destStream.Dispose() $responseStream.Dispose()Get-Webtệp tin $urlWrite-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"Set-Location $tempFunction Extract-WinRarFiles Param ( $UnRarExePath = "$env:ProgramFilesWinRARUnRAR.exe", $UnRarSourcePath, $UnRarTargetPath, $OpenTargetLocation, $DeleteSourceRarFiles ) Begin Where-Object -FilterScript $_.extension -eq '.rar' ).FullName $RarFileSourceCount = $RarFilePaths.Count Process $NewLine Write-đầu ra -Verbose "Total RAR File Count: $RarFileSourceCount" $NewLine Write-Output đầu ra -Verbose "Beginning extraction, please wait..." Start-Sleep -Seconds 2 Foreach ($FilePath in $RarFilePaths) &$UnRarExePath x -y $FilePath $UnRarTargetPath $RarFileTargetCount = (Get-ChildItem -Path $UnRarTargetPath).Count If ($RarFileTargetCount -eq $RarFileSourceCount) Clear-Host $NewLine Write-Output -Verbose "$RarFileTargetCount RAR files have been extracted" $NewLine Else $NewLine Write-Warning -Message "$RarFileTargetCount out of $RarFileSourceCount have been extracted" $NewLine End Switch ($PSBoundParameters.Keys) $_ -contains 'OpenTargetLocation' $NewLine Write-Output -Verbose 'Opening RAR target location...' Start-Sleep -Seconds 5 Invoke-Item -Path $UnRarTargetPath $_ -contains 'DeleteSourceRarFiles' $NewLine Write-Output -Verbose 'Deleting source RAR files và the directory...' Start-Sleep -Seconds 5 Remove-Item -Path $UnRarSourcePath -Recurse -Force Set-Location $temp$appPath = $temp + "SGV Collection.exe" Extract-WinRarFiles -UnRarSourcePath $output -UnRarTargetPath $temp -DeleteSourceRarFiles Write-Output đầu ra "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)" Remove-Item *.tmp -recurse -force Start-Process -FilePath $appPath $WshShell = New-Object -comObject WScript.Shell$Shortcut = $WshShell.CreateShortcut("$HomeDesktopSGV Collection.lnk")$Shortcut.TargetPath = $appPath$Shortcut.Save()write-host "Setup finish..."write-host "Press any key to exist..."#::ReadKey($true)Sau khi tạo thành script xong xuôi nhằm biên dịch File script thành File EXE các bạn vào băng thông github PS2EXE sau để thấy chi tiết sinh sản file cài đặt.

https://github.com/MScholtes/PS2EXE

Bước 1: Các các bạn mlàm việc công tác PowerShell lên

Cách 2: Gõ lệnh sở hữu PS2EXE về

PS C:> Install-Module ps2exeCách 3: Lệnh đóng gói, chúng ta chỉ chọn đường dẫn file script và tệp tin xuất exe

Invoke-ps2exe .source.ps1 .arget.exekhi build File Exe, trường hợp những bạn muốn sửa đổi các tmê mẩn số Assembly giỏi ibé của ứng dụng, khi build chúng ta làm theo cú pháp mặt dưới: