【UiPath】ライセンス付&トライアル期限パッケージを作ってみる

あくまでトライアルなので、無限に配布されたり、ずっと使い続けられると困るなー

ってことあると思います(あるのか?)

今回は、ライセンス付き(端末縛り)&トライアル期限つきパッケージの作り方を紹介します。

※自己責任でお願いします


テキストファイルを用意する

licenseファイルとtrialファイルを用意します。

プロジェクトフォルダ内であればどこでもOKです。

image.png


端末名を取得

実装していきます。

licenseファイルの内容を読み込み、変数にセット。

その後、端末名を取得します。端末名はEnvironment.MachineNameで取得できます。

image.png


初回起動か判定

licenseファイルに端末名が記載されていなければ、初回起動とみなします。

image.png


初回起動の場合

初回起動の場合は、licenseファイルに端末名を書き込み保存します。

次回起動からは、licenseファイルに端末名が書き込まれている状態となるので初回起動とはみなされなくなります。

image.png

trialファイルには、処理日+30日の日付をyyyy/MM/dd形式で書き込み保存します。

トライアル期限を60日などにしたい場合は+60としてあげれば良いです。

image.png


初回起動でない場合

licenseファイルに記載された端末名と、取得した端末名が合致するかチェックします。

image.png

端末名が合致しない場合、ワークフローを終了します。

licenseファイルに記載された端末以外では実行されないというわけですね。

image.png

端末名が合致する場合、今度はトライアル期限が切れていないかチェックします。

trialファイルに記載された日付と処理日を比較します。

image.png

トライアル期限日 >= 処理日の場合、まだ期限内なので残日数をダイアログ表示して、

後続処理に繋げます。

image.png

image.png

トライアル期限日 < 処理日の場合、期限切れなのでその旨を伝えるメッセージを表示し、

ワークフローを終了します。

image.png


パッケージングする

あとはパッケージングするだけです。

image.png

既定の場所にパブリッシュされます。

image.png

image.png


まとめ

ポイントは、licenseファイルとtrialファイルもまとめてパッケージングされるので、外部から変更される心配が少ないというところです。

注意点としては、必ず1度は対象端末でロボットを実行する必要があるという点です。

そうしないとlicenseファイルとtrialファイルに情報が書き込まれず、今回の実装の意味がなくなってしまいます。

ファイル展開

⇒license, trialファイル書き換え

⇒↓の方法でnupkgファイルを作り直す

http://sourcechord.hatenablog.com/entry/2016/02/07/150350

で縛りの回避は可能かもしれませんが、やったことありません←

ご参考まで~