Windows8 Room

Windows8 に関する基本から活用・裏技TIPS、開発まで様々な情報 発信中!(/゚∇゚)/ ))))

ストアアプリ開発時や評価時、認証されていないアプリを動かすためにDeveloper Licenseを取得する必要があるが、ライセンスは30日しか有効期限が無く、気が付いたら期限切れでテスト中のアプリが原因不明で起動できないなんて事になるケースがある(起動しようとしても「このアプリを開けません」とだけ表示し、ライセンス切れとは分からない)。

ライセンス切れの場合はVisual Studioからライセンスを再取得するか、PowerShellを実行し

Show-WindowsDeveloperLicenseRegistration

と入力する事でライセンス更新する事が出来る。より簡単にライセンス状況を確認/更新出来る様、スクリプトを作ってみたので良ければ使ってみて欲しい。

param(
    [switch]$GetDeveloperLicense = $false
)

$ScriptPath = $null
try
{
    $ScriptPath = (Get-Variable MyInvocation).Value.MyCommand.Path
    $ScriptDir = Split-Path -Parent $ScriptPath
}
catch {}

function CheckIfNeedDeveloperLicense
{
	$Result = $true
	try
	{
		$Result = (Get-WindowsDeveloperLicense | Where-Object { $_.IsValid }).Count -eq 0
	}
	catch {}

	return $Result
}

if ($GetDeveloperLicense)
{
        try
        {
            Show-WindowsDeveloperLicenseRegistration
        }
        catch
        {
            $Error[0] # Dump details about the last error
            Write-Host $UiStrings.ErrorGetDeveloperLicenseFailed
        }
		Start-Sleep -Seconds 5
}
else{
	Get-WindowsDeveloperLicense
	if (CheckIfNeedDeveloperLicense)
	{
		try
		{
	    	$RelaunchArgs = '-ExecutionPolicy Unrestricted -file "' + $ScriptPath + '"' + ' -GetDeveloperLicense'
			$AdminProcess = Start-Process "$PsHome\PowerShell.exe" -windowstyle hidden -Verb RunAs -ArgumentList $RelaunchArgs -PassThru
		}
		catch
		{
       		$Error[0] # Dump details about the last error
			Write-Host $UiStrings.ErrorLaunchAdminFailed
		}
	}
	else
	{
		Write-Host "License Valid"
		Start-Sleep -Seconds 3
	}
}

メモ帳で上記コードを貼り付け、「renewlic.ps1 」等適当なPowerShellスクリプト名で保存し、実行する際は右クリックから「PowerShellで実行」を選択すれば実行できる。

ライセンスが切れていれば更新画面が表示され、有効期限内であれば情報を3秒表示する。

run script

developer license

valid thru

スタートアップやタスクスケジューラーに入れておいて切れたら更新画面を表示する様に設定しておくとより管理が楽になる。


This post is also available in: 英語

また切れてるよ。Developer License更新用スクリプト」 に1件のコメント

  1. Will より:

    Many thanks…[…]An enlightening discussion is really worth comment. I believe that you need to write more and more on this area of interest, it may not end up being a taboo subject but commonly individuals are not ߦcourageous≵ adequately enough to speak on most…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*