Skip to content

Commit

Permalink
lfs
Browse files Browse the repository at this point in the history
  • Loading branch information
steve02081504 committed Apr 22, 2024
1 parent b889955 commit 4683a40
Show file tree
Hide file tree
Showing 17 changed files with 59 additions and 58 deletions.
1 change: 1 addition & 0 deletions .esh/commands/GUIfix.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Get-ChildItem -Path $repoPath -Recurse -Filter '*.fbs' | ForEach-Object {
$XmlDoc = [xml](Get-Content -Path $_.FullName)
$XmlWriter = [System.XML.XmlWriter]::Create($_.FullName, $XmlWriterSettings)
$XmlDoc.Save($XmlWriter)
$XmlWriter.WriteRaw("`n")
$XmlWriter.Flush()
$XmlWriter.Close()
}
1 change: 1 addition & 0 deletions .github/workflows/Publish.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ try {
$XmlDoc = [xml](Get-Content -Path $_.FullName)
$XmlWriter = [System.XML.XmlWriter]::Create($_.FullName, $XmlWriterSettings)
$XmlDoc.Save($XmlWriter)
$XmlWriter.WriteRaw("`n")
$XmlWriter.Flush()
$XmlWriter.Close()
}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/close-stale-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
ignore-updates: true
remove-stale-when-updated: false
stale-issue-message: '这个问题是**陈旧的**因为它已经开放了60天而没有活动。请删除`stale`标签或添加评论,否则这个问题将在30天内被关闭。'
stale-pr-message: '这个PR是**陈旧的**因为它已经开放了60天而没有任何活动。请删除`stale`标签或添加评论,否则该PR将在30天内被关闭。'
stale-pr-message: '这个PR是**陈旧的**因为它已经开放了60天而没有任何活动。请删除`stale`标签或添加评论,否则该PR将在30天内被关闭。'
close-issue-message: '这个问题被关闭是因为它已经停滞了30天而没有任何活动。请随时重新开放。'
close-pr-message: '这个PR被关闭是因为它已经停滞了30天而没有任何活动。请随时重新开放。'
close-pr-message: '这个PR被关闭是因为它已经停滞了30天而没有任何活动。请随时重新开放。'
repo-token: ${{ secrets.BOT_TOKEN }}
1 change: 0 additions & 1 deletion .github/workflows/static.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ jobs:
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: './.github/pages'
- name: Deploy to GitHub Pages
id: deployment
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Set-ps12exeContextMenu #Set right-click menu

(you can also clone this repository and run `./ps12exe.ps1` directly)

**Hard to upgrade from PS2EXE to ps12exe? No problem!**
**Hard to upgrade from PS2EXE to ps12exe? No problem!**
PS2EXE2ps12exe can hooks PS2EXE calls into ps12exe, All you need is just uninstall PS2EXE and install this, then use PS2EXE as normal.

```powershell
Expand Down
4 changes: 2 additions & 2 deletions docs/README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Set-ps12exeContextMenu #设置右键菜单

(你也可以clone本仓库,然后直接运行`.\ps12exe.ps1`

**升级从 PS2EXE 到 ps12exe 难吗?没问题!**
**升级从 PS2EXE 到 ps12exe 难吗?没问题!**
PS2EXE2ps12exe 可以将 PS2EXE 的调用钩入到 ps12exe 中,你只需要卸载 PS2EXE 并安装这个,然后像正常使用 PS2EXE 一样即可。

```powershell
Expand Down Expand Up @@ -301,7 +301,7 @@ ps12exe 可以创建配置文件,文件名为`生成的可执行文件 + ".con

### 按脚本区分环境

你可以通过 `$Host.Name` 判断脚本是在编译后的 exe 中运行还是在脚本中运行。
你可以通过 `$Host.Name` 判断脚本是在编译后的 exe 中运行还是在脚本中运行。

```powershell
if ($Host.Name -eq "PSEXE") { Write-Output "ps12exe" } else { Write-Output "Some other host" }
Expand Down
2 changes: 1 addition & 1 deletion docs/README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Set-ps12exeContextMenu #Set right-click menu

(you can also clone this repository and run `./ps12exe.ps1` directly)

**Hard to upgrade from PS2EXE to ps12exe? No problem!**
**Hard to upgrade from PS2EXE to ps12exe? No problem!**
PS2EXE2ps12exe can hooks PS2EXE calls into ps12exe, All you need is just uninstall PS2EXE and install this, then use PS2EXE as normal.

```powershell
Expand Down
9 changes: 4 additions & 5 deletions docs/README_ES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

## Introducción


[![CI](https://github.com/steve02081504/ps12exe/actions/workflows/CI.yml/badge.svg)](https://github.com/steve02081504/ps12exe/actions/workflows/CI.yml)
[![PSGallery download num](https://img.shields.io/powershellgallery/dt/ps12exe)](https://www.powershellgallery.com/packages/ps12exe)
[![GitHub issues by-label bug](https://img.shields.io/github/issues/steve02081504/ps12exe/bug?label=bugs)](https://github.com/steve02081504/ps12exe/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
Expand All @@ -26,7 +25,7 @@ Set-ps12exeContextMenu ## Configura el menú contextual

(También puede clonar el repositorio y ejecutar `.\ps12exe.ps1`)

**¿Difícil de actualizar desde PS2EXE a ps12exe? ¡No hay problema!**
**¿Difícil de actualizar desde PS2EXE a ps12exe? ¡No hay problema!**
PS2EXE2ps12exe puede enganchar las llamadas de PS2EXE en ps12exe. Todo lo que necesitas hacer es desinstalar PS2EXE e instalar esto, luego usar PS2EXE como de costumbre.

```powershell
Expand Down Expand Up @@ -302,7 +301,7 @@ Todo el script es fácilmente visible para cualquier descompilador .net.

### Distinguir entornos por script

Puedes saber si un script se está ejecutando en un exe compilado o en un script por `$Host.Name`.
Puedes saber si un script se está ejecutando en un exe compilado o en un script por `$Host.Name`.

```powershell
if ($Host.Name -eq "PSEXE") { Write-Output "ps12exe" } else { Write-Output "Algún otro host" }
Expand Down Expand Up @@ -341,8 +340,8 @@ $Host.UI.RawUI.FlushInputBuffer()
| Tamaño del archivo ejecutable "Hello World" 💾 | 🥰 1024 bytes | 😨 25088 bytes |
| Soporte multilingüe en la GUI 🌐 | ✔️ ||
| Verificación de sintaxis en tiempo de compilación ✔️ | ✔️ ||
| Función de preprocesamiento 🔄 | ✔️ || |
| `-extract` y otros parámetros especiales de análisis sintáctico 🧹 | 🗑️ Eliminado | 🥲 Requiere modificación del código fuente |.
| Función de preprocesamiento 🔄 | ✔️ ||
| `-extract` y otros parámetros especiales de análisis sintáctico 🧹 | 🗑️ Eliminado | 🥲 Requiere modificación del código fuente |
| PR welcome level 🤝 | 🥰 ¡Bienvenido! | 🤷 14 PRs, 13 de los cuales fueron cerrados |

### Comparación Compleja 🔍
Expand Down
4 changes: 2 additions & 2 deletions docs/README_IN.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Set-ps12exeContextMenu #राइट-क्लिक मेनू सेट क

(आप इस रिपॉजिटरी को क्लोन भी कर सकते हैं और सीधे `.\ps12exe.ps1` चला सकते हैं)

**PS2EXE से ps12exe में अपग्रेड करना कठिन है? कोई समस्या नहीं!**
**PS2EXE से ps12exe में अपग्रेड करना कठिन है? कोई समस्या नहीं!**
PS2EXE2ps12exe PS2EXE के कॉल्स को ps12exe में हुक कर सकता है। आपको बस PS2EXE को अनइंस्टॉल करना है और इसे इंस्टॉल करना है, फिर आप PS2EXE को सामान्य रूप से उपयोग कर सकते हैं।

```powershell
Expand Down Expand Up @@ -329,7 +329,7 @@ ipconfig | Out-String
$Host.UI.RawUI.FlushInputBuffer()
```

##फायदों की तुलना 🏆
## फायदों की तुलना 🏆

### त्वरित तुलना 🏁

Expand Down
33 changes: 17 additions & 16 deletions docs/README_JP.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Set-ps12exeContextMenu ## コンテキストメニューを設定する

(リポジトリをクローンして `.\ps12exe.ps1`)

**PS2EXE から ps12exe へのアップグレードは難しいですか?問題ありません!**
**PS2EXE から ps12exe へのアップグレードは難しいですか?問題ありません!**
PS2EXE2ps12exe は PS2EXE の呼び出しを ps12exe にフックできます。PS2EXE をアンインストールしてこれをインストールし、その後は通常通り PS2EXE を使用するだけです。

```powershell
Expand All @@ -37,7 +37,7 @@ Install-Module PS2EXE2ps12exe

### 右クリックメニュー

一度 `Set-ps12exeContextMenu` を設定すれば、任意の ps1 ファイルを右クリックして exe にコンパイルしたり、ps12exeGUI を開いたりすることができます。
一度 `Set-ps12exeContextMenu` を設定すれば、任意の ps1 ファイルを右クリックして exe にコンパイルしたり、ps12exeGUI を開いたりすることができます。
![image](https://github.com/steve02081504/ps12exe/assets/31927825/24e7caf7-2bd8-46aa-8e1d-ee6da44c2dcc)

### GUI モード
Expand Down Expand Up @@ -133,11 +133,12 @@ GuestMode : ネイティブ ファイルへのアクセスを防ぐため
Localize : 使用する言語コード
Help : このヘルプ情報を表示します
```
### 備考

## 備考

### 前処理

ps12exe はコンパイル前にスクリプトを前処理します。
ps12exe はコンパイル前にスクリプトを前処理します。

```powershell
# ps12exe.csファイルからプログラムフレームを読み込む
Expand All @@ -159,19 +160,19 @@ $LocalizeData =
#_endif
```

`PSEXE``PSScript` は以下の条件でのみサポートされるようになりました。
`PSEXE` は真、`PSScript` は偽。
`PSEXE``PSScript` は以下の条件でのみサポートされるようになりました。
`PSEXE` は真、`PSScript` は偽。

#### `#_include <ファイル名|url>`/`#_include_as_value <値> <ファイル名|url>`.
#### `#_include <ファイル名|url>`/`#_include_as_value <値> <ファイル名|url>`

```powershell
#_include <filename|url>
#_include_as_value <valuename> <file|url>
```

ファイル `<filename|url>` または `<file|url>` の内容をスクリプトに含めます。 ファイルの内容は `#_include`/`#_include_as_value` コマンドで指定した場所に挿入されます。
ファイル `<filename|url>` または `<file|url>` の内容をスクリプトに含めます。 ファイルの内容は `#_include`/`#_include_as_value` コマンドで指定した場所に挿入されます。

前処理コマンドの `#_include` 系列は、`#_if` ステートメントとは異なり、ファイル名を引用符で囲まない場合、末尾のスペース `#` もファイル名の一部として扱います。
前処理コマンドの `#_include` 系列は、`#_if` ステートメントとは異なり、ファイル名を引用符で囲まない場合、末尾のスペース `#` もファイル名の一部として扱います。

```powershell
#_include $PSScriptRoot/super #変なファイル名.ps1
Expand All @@ -180,7 +181,7 @@ $LocalizeData =

`#_include`を使うと、ファイルの内容が前処理されるので、複数のレベルのファイルをインクルードすることができます。

このため、複数のレベルのファイルをインクルードすることができます。 `#_include_as_value` を使用すると、ファイルの内容が文字列の値としてスクリプトに挿入されます。 ファイルの内容は前処理されません。
このため、複数のレベルのファイルをインクルードすることができます。 `#_include_as_value` を使用すると、ファイルの内容が文字列の値としてスクリプトに挿入されます。 ファイルの内容は前処理されません。

ほとんどの場合、 `#_if``#_include` の前処理コマンドを使わなくても、exe に変換した後のスクリプトにサブスクリプトを正しくインクルードすることができます:

Expand Down Expand Up @@ -239,7 +240,7 @@ $modules | ForEach-Object{

#### `#_pragma`

pragma プリプロセッシングディレクティブはスクリプトの内容には影響しませんが、コンパイルに使用するパラメータを変更します。
pragma プリプロセッシングディレクティブはスクリプトの内容には影響しませんが、コンパイルに使用するパラメータを変更します。
以下に例を示します:

```powershell
Expand Down Expand Up @@ -267,8 +268,8 @@ pragmaコマンドは任意のコンパイルパラメータを設定できる

### ミニファイア

ps12exeの "コンパイル "はスクリプト内の全てをそのままリソースとして実行ファイルに埋め込むので、スクリプトに無駄な文字列が多いと、実行ファイルは非常に大きくなります。
`-Minifyer` パラメータを使うと、コンパイルの前にスクリプトを前処理するスクリプトブロックを指定することができ、生成される実行ファイルを小さくすることができます。
ps12exeの "コンパイル "はスクリプト内の全てをそのままリソースとして実行ファイルに埋め込むので、スクリプトに無駄な文字列が多いと、実行ファイルは非常に大きくなります。
`-Minifyer` パラメータを使うと、コンパイルの前にスクリプトを前処理するスクリプトブロックを指定することができ、生成される実行ファイルを小さくすることができます。

このようなスクリプトブロックの書き方がわからない場合は、[psminnifyer](https://github.com/steve02081504/psminnifyer) を使ってください。

Expand All @@ -294,8 +295,8 @@ ps12exe は `generated executable + ".config"` という名前の設定ファイ

### パスワードのセキュリティ

コンパイル済みスクリプトには、絶対にパスワードを保存しないでください!
スクリプト全体は、.net デコンパイラで簡単に見ることができます。
コンパイル済みスクリプトには、絶対にパスワードを保存しないでください!
スクリプト全体は、.net デコンパイラで簡単に見ることができます。
![image](https://github.com/steve02081504/ps12exe/assets/31927825/92d96e53-ba52-406f-ae8b-538891f42779)

### スクリプトによって環境を区別する
Expand All @@ -312,7 +313,7 @@ ps12exe はスクリプトを実行ファイルに変換するので、変数 `$

実行ファイルがあるディレクトリのパスを取得するには `$PSScriptRoot` を使用し、実行ファイル自体のパスを取得するには新しい `$PSEXEpath` を使用します。

# -noConsole モードでのバックグラウンドウィンドウ
### -noConsole モードでのバックグラウンドウィンドウ

`-noConsole` モードを使用するスクリプト(`Get-Credential``cmd.exe` を必要とするコマンドなど)で外部ウィンドウを開くと、ウィンドウがバックグラウンドで開きます。

Expand Down
Binary file modified img/darklight.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 23 additions & 23 deletions src/CodeAnalysisCompiler.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ $references = $referenceAssembies | ForEach-Object {
}

$compilationOptions = New-Object Microsoft.CodeAnalysis.CSharp.CSharpCompilationOptions($(
if ($noConsole) {
[Microsoft.CodeAnalysis.OutputKind]::WindowsApplication
}
else {
[Microsoft.CodeAnalysis.OutputKind]::ConsoleApplication
}
))
if ($noConsole) {
[Microsoft.CodeAnalysis.OutputKind]::WindowsApplication
}
else {
[Microsoft.CodeAnalysis.OutputKind]::ConsoleApplication
}
))

# Get a default CSharpParseOptions instance
$parseOptions = [Microsoft.CodeAnalysis.CSharp.CSharpParseOptions]::Default
Expand All @@ -25,29 +25,29 @@ if ($iconFile) {
}
if (!$virtualize) {
$compilationOptions = $compilationOptions.WithPlatform($(
switch ($architecture) {
"x86" { [Microsoft.CodeAnalysis.Platform]::X86 }
"x64" { [Microsoft.CodeAnalysis.Platform]::X64 }
"anycpu" { [Microsoft.CodeAnalysis.Platform]::AnyCpu }
default {
Write-Warning "Invalid platform $architecture, using AnyCpu"
[Microsoft.CodeAnalysis.Platform]::AnyCpu
}
})
switch ($architecture) {
"x86" { [Microsoft.CodeAnalysis.Platform]::X86 }
"x64" { [Microsoft.CodeAnalysis.Platform]::X64 }
"anycpu" { [Microsoft.CodeAnalysis.Platform]::AnyCpu }
default {
Write-Warning "Invalid platform $architecture, using AnyCpu"
[Microsoft.CodeAnalysis.Platform]::AnyCpu
}
})
)
}
else {
Write-Host "Application virtualization is activated, forcing x86 platfom."
$compilationOptions = $compilationOptions.WithPlatform([Microsoft.CodeAnalysis.Platform.X86])
}
$compilationOptions = $compilationOptions.WithOptimizationLevel($(
if ($prepareDebug) {
[Microsoft.CodeAnalysis.OptimizationLevel]::Debug
}
else {
[Microsoft.CodeAnalysis.OptimizationLevel]::Release
}
))
if ($prepareDebug) {
[Microsoft.CodeAnalysis.OptimizationLevel]::Debug
}
else {
[Microsoft.CodeAnalysis.OptimizationLevel]::Release
}
))

$treeArray = New-Object System.Collections.Generic.List[Microsoft.CodeAnalysis.SyntaxTree]
$treeArray.Add($tree)
Expand Down
2 changes: 1 addition & 1 deletion src/locale/en-UK.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@
<OpenFileDialog Name="OpenCompileFileDialog" DefaultExt="ps1" Filter="Powershell Files (*.ps1)|*.ps1|Powershell Data Files (*.psd1)|*.psd1" Title="Select a compilation file, my good sir" />
<OpenFileDialog Name="OpenOutputFileDialog" DefaultExt="exe" Filter="Executable Files (*.exe)|*.exe" Title="Select an output file, if you please" />
<OpenFileDialog Name="OpenIconFileDialog" DefaultExt="ico" Filter="Icon Files (*.ico)|*.ico" Title="Select an icon file, old bean" />
</Data>
</Data>
2 changes: 1 addition & 1 deletion src/locale/es-ES.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@
<OpenFileDialog Name="OpenCompileFileDialog" DefaultExt="ps1" Filter="Archivos de powershell(*.ps1)|*.ps1|Archivos de datos de powershell(*.psd1)|*.psd1" Title="Seleccionar archivo de compilación" />
<OpenFileDialog Name="OpenOutputFileDialog" DefaultExt="exe" Filter="Archivos ejecutables(*.exe)|*.exe" Title="Seleccionar archivo de salida" />
<OpenFileDialog Name="OpenIconFileDialog" DefaultExt="ico" Filter="Archivos de icono(*.ico)|*.ico" Title="Seleccionar archivo de icono" />
</Data>
</Data>
2 changes: 1 addition & 1 deletion src/locale/hi-IN.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@
<OpenFileDialog Name="OpenCompileFileDialog" DefaultExt="ps1" Filter="पॉवरशेल फ़ाइलें (*.ps1)|*.ps1|पॉवरशेल डेटा फ़ाइलें (*.psd1)|*.psd1" Title="कंपाइल फ़ाइल चुनें" />
<OpenFileDialog Name="OpenOutputFileDialog" DefaultExt="exe" Filter="एक्ज़िक्यूटेबल फ़ाइलें (*.exe)|*.exe" Title="आउटपुट फ़ाइल चुनें" />
<OpenFileDialog Name="OpenIconFileDialog" DefaultExt="ico" Filter="आइकन फ़ाइलें (*.ico)|*.ico" Title="आइकन फ़ाइल चुनें" />
</Data>
</Data>
2 changes: 1 addition & 1 deletion src/locale/ja-JP.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@
<OpenFileDialog Name="OpenCompileFileDialog" DefaultExt="ps1" Filter="powershellファイル(*.ps1)|*.ps1|powershellデータファイル(*.psd1)|*.psd1" Title="コンパイルファイルを選択" />
<OpenFileDialog Name="OpenOutputFileDialog" DefaultExt="exe" Filter="実行可能ファイル(*.exe)|*.exe" Title="出力ファイルを選択" />
<OpenFileDialog Name="OpenIconFileDialog" DefaultExt="ico" Filter="アイコンファイル(*.ico)|*.ico" Title="アイコンファイルを選択" />
</Data>
</Data>
2 changes: 1 addition & 1 deletion src/locale/zh-CN.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@
<OpenFileDialog Name="OpenCompileFileDialog" DefaultExt="ps1" Filter="powershell文件(*.ps1)|*.ps1|powershell数据文件(*.psd1)|*.psd1" Title="选择编译文件" />
<OpenFileDialog Name="OpenOutputFileDialog" DefaultExt="exe" Filter="可执行文件(*.exe)|*.exe" Title="选择输出文件" />
<OpenFileDialog Name="OpenIconFileDialog" DefaultExt="ico" Filter="图标文件(*.ico)|*.ico" Title="选择图标文件" />
</Data>
</Data>

0 comments on commit 4683a40

Please sign in to comment.