WPKGのインストール、構成、使用

最近では、どこでもITプロフェッショナルがオープンソースソフトウェアを実装しようとし、経営陣がマイクロソフト製品の使用に抵抗し、要求しているのを見ました。 ライセンスのない製品ですが、それでも。 ますます、逆のことがわかります。管理にはオープンソースソフトウェアの導入が必要であり、IT部門はライセンス購入のための予算拡大を打ち切っています。 リーダーシップに対する見解が変わった理由は理解できます。これらは、盗まれた商品の使用を許可しない定期的な警察の襲撃、他社でのオープンソースソフトウェアの実装の成功、およびかなりの金額を節約する能力です。 まず、Microsoft OfficeをOpenOffice.orgとMozilla ThunderbirdにバンドルされたOutlookに置き換えることについて、まずお話します。

しかし、IT専門家によるオープンソースソフトウェアへの関心が低下した理由は何ですか? エスコート。 営業日の終わりの1時間前に計画会議の管理者が、MSからの同種のソフトウェア環境で、翌朝までにすべてのワークステーションのソフトウェア設定を変更することを決定した場合、管理者はグループポリシー管理スナップインを開始し、数回クリックして家に帰るだけです。 マイクロソフト以外のソフトウェアは通常、政治家によって構成されていません...そして、管理者は100のワークステーションを「実行」しました。 そして、自宅で、母\妻\子供\犬はもうたわごとのコーナーで(必要な強調)。 または、たとえば、Thunderbirdの更新。 WSUSはダウンロードせず、ワークステーションに散らばらず、自身をインストールしません。 毎月更新されます。

管理者が車輪の再発明を好む場合、それは良いことです。 できればさらに良い。 次に、すべての非再生可能および調整不可能な松葉杖が落ち着き、すべてが揺れますが、それだけの価値があります。 管理者が終了するまで。 その後、通常はクラッシュして崩壊します。

ファイターがいるとすばらしい。 若くて脚が強い。 通常のタスクは戦闘機用に作成され、戦闘機はそれを実行し、GPO、WSUS、および他の多くの有用なものの両方を置き換えます。

これらは私たちの方法ではありません。 労働リソースの合理的な使用、インフラストラクチャの標準化、および透明性のあるITビジネスプロセスが必要です。 したがって、設定と更新は一元的に配布されます。 WPKGを使用します。 Habréに彼に関する記事が1つもなかったことは奇妙です。


WPKGは、WSHスクリプト、xml形式の一連の構成ファイル、およびこの同じスクリプトを定期的に実行するクライアントサービスです。 クライアント部分なしでも実行できますが、典型的なソリューションについて説明します。

実装の対象は、3つのオフィスと112のワークステーションを持つ会社です。 これらのうち、6は64ビットWindows 7を実行し、4はWindows XPを実行し、63はWindows Vistaを実行し、残りはWindows 7を実行します。各オフィスには、WSUSを搭載したサーバー-SRV-1、SRV-2、SRVがあります-3。 WPKGを作成するのはWSUSの隣です。

まず、各サーバーにWPKGディレクトリを作成し、全員の読み取りアクセス権を持つ対応するネットワークフォルダーWPKG $を作成します。 wpkg.org/files/stable/1.3.x/wpkg-1.3.0-bin.zipをダウンロードし、上記のディレクトリに展開します。 同じディレクトリに、ソフトウェアとクライアントのサブディレクトリを作成しました。 インストールおよび更新するソフトウェア配布の最初のものは、UltraVNC、Thunderbird、およびOpenOfficeです。 WPKGのクライアント部分の2番目。

WPKGクライアント

WPKGのクライアント部分は、コンピューターが起動するたびに開始され、設定で指定されたネットワークフォルダーからwpkg.jsを実行するWindowsサービスです。 すべてが非常に簡単です。

ここからクライアントインストールパッケージをダウンロードし、適切なディレクトリ-clientに配置します。 そこでクライアント設定ファイルsettings.xmlを配置する必要があります。 しかし、最初にそれを行う必要があります。 これを行うには、クライアントをインストールし、C:\ Program Files \ wpkg \ wpkginst.exeを実行し、フィールドに入力して[設定のエクスポート]ボタンをクリックします。

画像

私はこのようなものを得ました:
<?xml version = "1.0" encoding = "UTF-8" ?>
<構成>
<ファイル> \\ SRV-1 \ WPKG $ \ wpkg.js </ファイル>
<net-use-machine-account >はい</ net-use-machine-account >
<exec-user > SYSTEM </ exec-user >
<exec-password />
<parameters > / synchronize / nonotify / quiet </ parameters >
<silent >はい</ silent >
<事前アクション />
<ポストアクション />
<show-GUI >いいえ</ / show-GUI >
<logon-delay > 0 </ logon-delay >
<logon-message-title > WPKGソフトウェアの展開</ logon-message-title >
<logon-message-logo-picture />
<logon-message-1 > WPKGはアプリケーションをインストールして設定を適用しています... </ logon-message-1 >
<logon-message-2 >お待ちください。コンピュータを再起動したり、電源を切ったりしないでください... </ logon-message-2 >
<スクリプト変数 = "ソフトウェア" > \\ SRV-1 \ WPKG $ \ソフトウェア</スクリプト変数>
<priority > normal </ priority >
<stop-service-after-done > NO </ stop-service-after-done >
<laptop-mode >いいえ</ laptop-mode >
<server-connecting-method > standard </ server-connecting-method >
<server-connecting-ip />
<server-connecting-timeout > 3 </ server-connecting-timeout >
<server-connecting-script-timeout > 3 </ server-connecting-script-timeout >
<server-connecting-script-file />
<ログファイル />
<run-on-shutdown > NO </ run-on-shutdown >
<shutdown-delay > 10 </ shutdown-delay >
<logon-interrupt-password > OJzMGd0PqAMI2Vc = </ logon-interrupt-password >
<失敗時の繰り返し回数> 0 </ 失敗時の 繰り返し回数>
</設定>


ここでのパラメーターは興味深いです-ファイルとスクリプト変数。 最初は、クライアントが実行する必要があるものを示します。 2番目はクライアント変数です。この例では、ソフトウェアリポジトリへのパスを格納しています。 後でWPKGサーバーの設定を書くときに便利になります。 それまでの間、SRV-2とSRV-3の構成のコピーをさらに2つ作成し、それに応じてファイルとスクリプト変数のパラメーターを修正する必要があります。

GPOを介してクライアント部分をワークステーションにインストールします。 クライアントが設定を使用してインストールするためには、インストールパッケージの変換を作成し、値\\ SRV-1 \ WPKG $ \ client \ settings.xmlを持つSETTINGSFILE行をプロパティテーブルに追加する必要があります。 Orcaでこれを行うことができます。 当然、サーバーごとに独自の変換ファイルを作成し、クライアントディレクトリに配置する必要があります。

分布

一連の配布を準備します。 ソフトウェアディレクトリに、次のようなディレクトリ構造を作成しました。
画像

サンダーバード

Thunderbirdディレクトリに、さらに2つのサブディレクトリ-構成と拡張機能を作成しました。 ルートに、Thunderbird Setup 9.0.1.exeを配置します。 構成ファイルはall.jsおよびautoconf.cfgです(これについてはこちらで確認できます )。 拡張機能のThunderbird拡張機能は解凍する必要があります。 アーカイバーでxpiを解凍できますが、プロファイルからフォルダーをコピーしました-C:\ Users \%USERNAME%\ AppData \ Roaming \ Thunderbird \ Profiles \ abc1defg.default \ extensions。

Openoffice

OpenOfficeのインストールを開始し、インストーラーがソフトウェア\ Std \ all \ OpenOfficeのファイルを解凍するのを待って、インストールを完了します。 オルカは、インストールパッケージの実行にsetup.exeを必要としないようにするのに再び役立ちます。 openofficeorg33.msiを開き、LaunchConditionテーブルを見つけて、SETUP_USED条件を含む行を削除します。

Vnc

ソフトウェア\ Std \ x86 \ VNCでは、32ビットバージョンのディストリビューションをそれぞれx64、64ビットに配置します。 両方のディレクトリに、uvnc.infとultravnc.iniを配置します。 最初のものは、/ saveinfスイッチを使用してインストールを実行することで取得できますが、基本的なものです。

[Setup]
Lang=en
Dir=C:\Program Files\UltraVNC
Group=UltraVNC
NoIcons=0
SetupType=server_silent
Components=ultravnc_server_s
Tasks=installservice,startservice


2番目は、既にインストールされているUltraVNCを構成した結果です。C:\ Program Files \ UltraVNCで取得できます。

WPKGサーバー

これで、WPKG自体を構成することができます。 これには、host.xml、profiles.xml、packages.xmlの3つの主なファイルがあります。これらは、インストールする人、インストールする対象、およびインストールする方法を記述しています。

クライアント側で起動されると、WPKGはhosts.xmlファイルで実行されているワークステーションの名前を探します。 名前は正規表現をサポートします。 私の場合、64ビットワークステーションの名前と他のすべてのワークステーションのテンプレートは、ファイル内で明確に記述されています。

<ホスト = "WKS-088" profile-id = "StdX64" />
<ホスト = "。+" profile-id = "StdX86" />


host.xmlでワークステーションの名前を見つけた後、WPKGはこのワークステーションのインストールプロファイルの名前を取得します。 プロファイルの説明は、profiles.xmlに保存されます。 このプロファイルには、インストールするパッケージと他のプロファイルへの依存関係がリストされています。 例:WKS-088ワークステーションのプロファイルはStdX64です。 StdX64はStdプロファイルに依存しています。 したがって、最初に、StdプロファイルのすべてのパッケージがWKS-088にインストールされ、次にStdX64からのみインストールされます。

<profile id = "Std" >
<package package-id = "Thunderbird" />
<パッケージ package-id = "Lightning" />
<パッケージ package-id = "MinTrayR" />
<パッケージ package-id = "OpenOffice" />
</プロフィール>

<profile id = "StdX64" >
<depends profile-id = "Std" />
<パッケージ package-id = "VNCx64" />
</プロフィール>


パッケージはpackages.xmlで説明されています。 各パッケージは、ソフトウェアがインストールされているかどうかの確認、ソフトウェアのインストール、ソフトウェアの更新、およびソフトウェアのアンインストールに関する一連の指示です。 たとえば、Thunderbirdの拡張機能をインストールする方法を説明するLightningパッケージを見てみましょう。

<パッケージ
id = "Lightning"
name = "Lightning"
リビジョン = "2012.01.10"
reboot = "false"
優先度 = "0" >

<変数 = "バージョン" = "1.1" />

<depends package-id = "Thunderbird" />

<check type = "file" condition = "exists" path = "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} \ install.rdf" />

<install cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"% PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} "' />

<upgrade cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"% PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} "' />

<remove cmd = '%COMSPEC%/ C rmdir / S / Q "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"' />
</パッケージ>


パッケージには、パッケージ識別子、名前、リビジョン、優先度を含むヘッダーがあります。 パッケージIDは、WPKG構成でパッケージをプロファイルに関連付け、パッケージ間の依存関係を指定するために使用されます。 パッケージ名は、Windowsイベントログにメッセージを表示するために使用されます。 WPKGは、指定された優先順位でパケットを処理します。 優先順位は推奨されません。依存関係を使用することをお勧めします。 パッケージのリビジョンを示すために、いくつかの形式を使用できます。単純な数値形式-1、2、3など、ドット付き形式-1.1、2.1.4、3.200.3987など、英数字形式-1.2RC1、1.5 I32、2.73M24、1.65.bなど。ただし、YYYY.MM.DDという形式の日付を使用することにしました。 私の意見では、これは簡単で信頼性が高いです。 WPKGは、このプロファイルのパッケージのリストを前回の起動時のリストと比較します。 リストに新しいパッケージが表示されると、そのパッケージのチェックステートメントが順番に実行されます。 インストールされたアプリケーションが見つからない場合、インストール手順も順番に実行されます。 パッケージがリストから消えた場合、このパッケージの削除指示が実行されます。 リビジョンが変更された場合、アップグレード手順が順番に実行されます。

パッケージは、プロファイルのように、互いに依存する場合があります。 この依存関係は、dependsディレクティブによって決定されます。 この例では、Lightningパッケージは、Thunderbirdがインストールされるまでインストールされません。

指示には、パーセント記号(%)で囲まれた変数が含まれています。 これらは、システム環境変数、WPKGのクライアント側の変数(たとえば、変数%SOFTWARE%はsettings.xmlで定義されています)、および構成ファイルに記述されている変数です。 後者は変数ディレクティブによって記述されます。

完全なオペレーティングシステム構成ファイル:

host.xml

<?xml version = "1.0" encoding = "UTF-8" ?>

<hosts:wpkg xmlns:hosts = " www.wpkg.org/hosts" xmlns:wpkg = " www.wpkg.org/wpkg"
xmlns:xsi = " www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = " www.wpkg.org/hosts xsd / hosts.xsd" >

<ホスト = "WKS-088" profile-id = "StdX64" />
<ホスト = "WKS-109" profile-id = "StdX64" />
<ホスト = "WKS-112" profile-id = "StdX64" />
<ホスト = "WKS-114" profile-id = "StdX64" />
<ホスト = "WKS-115" profile-id = "StdX64" />
<ホスト = "WKS-121" profile-id = "StdX64" />

<ホスト = "。+" profile-id = "StdX86" />

</ hosts:wpkg >

ダウンロードする

profiles.xml

<?xml version = "1.0" encoding = "UTF-8" ?>
<profiles:profiles xmlns:profiles = " www.wpkg.org/profiles"
xmlns:wpkg = " www.wpkg.org/wpkg" xmlns:xsi = " www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = " www.wpkg.org/profiles xsd / profiles.xsd" >
<profile id = "Std" >
<package package-id = "Thunderbird" />
<パッケージ package-id = "Lightning" />
<パッケージ package-id = "MinTrayR" />
<パッケージ package-id = "OpenOffice" />
</プロフィール>

<profile id = "StdX86" >
<depends profile-id = "Std" />
<パッケージ package-id = "VNCx86" />
</プロフィール>

<profile id = "StdX64" >
<depends profile-id = "Std" />
<パッケージ package-id = "VNCx64" />
</プロフィール>
</プロファイル:プロファイル>

ダウンロードする

packages.xml

<?xml version = "1.0" encoding = "UTF-8" ?>
<packages:packages xmlns:packages = " www.wpkg.org/packages"
xmlns:wpkg = " www.wpkg.org/wpkg" xmlns:xsi = " www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = " www.wpkg.org/packages xsd / packages.xsd" >

<パッケージ
id = "Thunderbird"
name = "Mozilla Thunderbird"
リビジョン = "2012.01.10"
reboot = "false"
優先度 = "0" >

<変数 = "バージョン" = "9.0.1" />
<変数 = "アーキテクチャ" = "x86" />
<変数 = "ロケール" = "ru" />

<check type = "uninstall" condition = "exists" path = "Mozilla Thunderbird%version%(%architecture %% locale%)" />

<install cmd = '"%SOFTWARE%\ Std \ all \ Thunderbird \ Thunderbird Setup%version%.exe" -ms' />

<install cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ Thunderbird \ configuration \ all.js "%PROGRAMFILES%\ Mozilla Thunderbird \ defaults \ pref \"' />
<install cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ Thunderbird \ configuration \ autoconf.cfg "%PROGRAMFILES%\ Mozilla Thunderbird \"' />

<アップグレード cmd = 'taskkill / F / IM thunderbird.exe' >
<終了 コード = "0" />
<終了 コード = "128" />
</アップグレード>

<upgrade cmd = '"%SOFTWARE%\ thunderbird \ Thunderbird Setup%version%.exe" -ms' />

<upgrade cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ Thunderbird \ configuration \ all.js "%PROGRAMFILES%\ Mozilla Thunderbird \ defaults \ pref \"' />
<upgrade cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ Thunderbird \ configuration \ autoconf.cfg "%PROGRAMFILES%\ Mozilla Thunderbird \"' />

<remove cmd = 'taskkill / F / IM thunderbird.exe' >
<終了 コード = "0" />
<終了 コード = "128" />
</削除>

<remove cmd = '%COMSPEC%/ C if exist "%PROGRAMFILES%\ Mozilla Thunderbird \ uninstall \ helper.exe" "%PROGRAMFILES%\ Mozilla Thunderbird \ uninstall \ helper.exe" -ms' />
</パッケージ>

<パッケージ
id = "Lightning"
name = "Lightning"
リビジョン = "2012.01.10"
reboot = "false"
優先度 = "0" >

<変数 = "バージョン" = "1.1" />

<depends package-id = "Thunderbird" />

<check type = "file" condition = "exists" path = "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} \ install.rdf" />

<install cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"% PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} "' />

<upgrade cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"% PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103} "' />

<remove cmd = '%COMSPEC%/ C rmdir / S / Q "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ {e2fda1a4-762b-4020-b5ad-a41df1933103}"' />
</パッケージ>

<パッケージ
id = "MinTrayR"
name = "MinimizeToTrayが復活しました"
リビジョン = "2012.01.10"
reboot = "false"
優先度 = "0" >

<変数 = "バージョン" = "1.0" />

<depends package-id = "Thunderbird" />

<check type = "file" condition = "exists" path = "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ mintrayr@tn123.ath.cx \ install.rdf" />

<install cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ mintrayr@tn123.ath.cx" "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ mintrayr@tn123.ath.cx "' />

<upgrade cmd = '%COMSPEC%/ C xcopy / Q / I / E / Y / V / Z "%SOFTWARE%\ Std \ all \ Thunderbird \ extensions \ mintrayr@tn123.ath.cx" "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ mintrayr@tn123.ath.cx "' />

<remove cmd = '%COMSPEC%/ C rmdir / S / Q "%PROGRAMFILES%\ Mozilla Thunderbird \ extensions \ mintrayr@tn123.ath.cx"' />
</パッケージ>

<パッケージ
id = "OpenOffice"
name = "OpenOffice.org 3.3"
リビジョン = "2012.01.11"
reboot = "false"
優先度 = "0" >

<変数 = "バージョン" = "3.3.9567.500" />
<変数 = "コード" = "{4218E1CD-CDB6-448C-8036-2871403BDE57}" />

<check type = "file" condition = "versionequalto" path = "%PROGRAMFILES%\ OpenOffice.org 3 \ program \ soffice.exe" value = "%version%" />

<install cmd = '%COMSPEC%/ C if exist "%PROGRAMFILES%\ OpenOffice.org 3 \ program \ soffice.exe" msiexec / qn / x%code%' />
<install cmd = 'msiexec / qn / i "%SOFTWARE%\ Std \ all \ OpenOffice \ openofficeorg33.msi" ALLUSERS = 1 ADDLOCAL = ALL REMOVE = gm_o_Quickstart、gm_o_Onlineupdate' />
<install cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ OpenOffice \ bootstrap.ini "%PROGRAMFILES%\ OpenOffice.org 3 \ program \"' />

<アップグレード cmd = 'msiexec / qn / i "%SOFTWARE%\ Std \ all \ OpenOffice \ openofficeorg33.msi" ALLUSERS = 1 ADDLOCAL = ALL REMOVE = gm_o_Quickstart、gm_o_Onlineupdate' />
<upgrade cmd = '%COMSPEC%/ C copy / v / y / z%SOFTWARE%\ Std \ all \ OpenOffice \ bootstrap.ini "%PROGRAMFILES%\ OpenOffice.org 3 \ program \"' />

<remove cmd = 'msiexec / qn / x%code%' />
</パッケージ>

<パッケージ id = "VNCx86" name = "Ultra VNC(x86)" revision = "2012.01.11" priority = "0" >
<変数 = "バージョン" = "1.0.9.6" />

<check type = "file" condition = " versionequalto" path = "%PROGRAMFILES%\ UltraVNC \ winvnc.exe" value = "%version%" />

<install cmd = '%SOFTWARE%\ Std \ x86 \ vnc \ UltraVNC_1.0.9.6.1_Setup.exe / verysilent /loadinf="%SOFTWARE%\Std\x86\vnc\uvnc.inf "' />
<install cmd = '%COMSPEC%/ c copy / Y%SOFTWARE%\ Std \ x86 \ vnc \ ultravnc.ini "%PROGRAMFILES%\ UltraVNC \"' />

<アップグレード cmd = 'net stop uvnc_service' >
<終了 コード = '0' />
<終了 コード = '2' />
</アップグレード>
<アップグレード cmd = 'sc delete uvnc_service' />
<アップグレード cmd = '%SOFTWARE%\ Std \ x86 \ vnc \ UltraVNC_1.0.9.6.1_Setup.exe / verysilent /loadinf="%SOFTWARE%\Std\x86\vnc\uvnc.inf "' />
<アップグレード cmd = '%COMSPEC%/ c copy / Y%SOFTWARE%\ Std \ x86 \ vnc \ ultravnc.ini "%PROGRAMFILES%\ UltraVNC \"' />

< cmd = 'net stop uvnc_service'を 削除 >
<終了 コード = '0' />
<終了 コード = '2' />
</削除>
<remove cmd = 'sc delete uvnc_service' />
<remove cmd = '"%PROGRAMFILES%\ UltraVNC \ unins000.exe" / verysilent / norestart' />
<remove cmd = '%COMSPEC%/ c rmdir / S / Q "%PROGRAMFILES%\ UltraVNC"' />
</パッケージ>

<パッケージ id = "VNCx64" name = "Ultra VNC(x64)" revision = "2012.01.11" priority = "0" >
<変数 = "バージョン" = "1.0.9.6" />

<check type = "file" condition = " versionequalto" path = "%PROGRAMFILES%\ UltraVNC \ winvnc.exe" value = "%version%" />

<install cmd = '%SOFTWARE%\ Std \ x64 \ vnc \ UltraVNC_1.0.9.6.1_x64_Setup.exe / verysilent /loadinf="%SOFTWARE%\Std\x64\vnc\uvnc.inf "' />
<install cmd = '%COMSPEC%/ c copy / Y%SOFTWARE%\ Std \ x64 \ vnc \ ultravnc.ini "%PROGRAMFILES%\ UltraVNC \"' />

<アップグレード cmd = 'net stop uvnc_service' >
<終了 コード = '0' />
<終了 コード = '2' />
</アップグレード>
<アップグレード cmd = 'sc delete uvnc_service' />
<アップグレード cmd = '%SOFTWARE%\ Std \ x64 \ vnc \ UltraVNC_1.0.9.6.1_x64_Setup.exe / verysilent /loadinf="%SOFTWARE%\Std\x64\vnc\uvnc.inf "' />
<アップグレード コマンド = '%COMSPEC%/ c copy / Y%SOFTWARE%\ Std \ x64 \ vnc \ ultravnc.ini "%PROGRAMFILES%\ UltraVNC \"' />

< cmd = 'net stop uvnc_service'を 削除 >
<終了 コード = '0' />
<終了 コード = '2' />
</削除>
<remove cmd = 'sc delete uvnc_service' />
<remove cmd = '"%PROGRAMFILES%\ UltraVNC \ unins000.exe" / verysilent / norestart' />
<remove cmd = '%COMSPEC%/ c rmdir / S / Q "%PROGRAMFILES%\ UltraVNC"' />
</パッケージ>
</パッケージ:パッケージ>

ダウンロードする

すべてのパッケージは、 wpkg.orgから取得されました。 しかし、それらは簡単で自己記述的です。

また、問題が発生した場合、診断および解決も簡単です。 動作中、WPKGはWindowsイベントログにイベントを記録し、%SYSTEMROOT%\ System32 \ wpkg.xmlに記録します。

システム管理者は、ソフトウェアディレクトリに間に合うように最新のソフトウェアバージョンのみをダウンロードし、パッケージの正しい動作を監視できます。

Source: https://habr.com/ru/post/J136314/


All Articles