Pleiades Eclipse Windows 64bit Ultimate Full Edition のインストールといろいろな準備

目的は、Pleiades(Eclipse 4.7 Oxygen 2) Ultimate Full Edition でインストール済、または準備されているソフトウェアをインストールして利用可能にする事です。

大きなソフトウェアでは、以下のようになります

1) Java ( Eclipse 内で JDK 6,7,8,9 が使用可能です / インストールされています )
2) Tomcat ( Tomcat は 6,7,8,9 が同梱されて選択して使用可能です / xampp にも Tomcat7 が入っています )
3) php ( php(x86) は xampp に入っていますが、既存のものを使用できます )
4) Ruby (Ruby そのものはインストールが必要です)Ruby 2.4 で GET/POST メソッドを想定した CGI 用の簡易テンプレートを作成してみましたRuby 2.4 で GET/POST メソッドを想定した CGI 用のテンプレート改良版( FORM で MySQL 参照と更新 )
5) Python (Python の 2(x64) と 3(x64) が同梱されて実行可能)
    MySQL の接続を行う場合は、Windows インストーラで Python をあらためてインストールが必要です
6) Perl ( perl(x86) は xampp に入っています )
7) C++/C ( MinGW GCC が入っていてビルドできます )

これらの開発環境は、Eclipse の UI よりプロジェクトを作成してプログラムを作成する事ができます。

8) xampp

これは開発する為のサーバー環境で、インストール済のものとインストールが必要なものがあります。

インストール済のサーバー用ソフトウェア

a) Apache  ( xampp から起動してすぐ使えます )
    ※既にインストール済の www サーバーや スクリプトベースの簡易サーバーも使えます
b) MySQL ( xampp から起動してすぐ使えます )
c) perl ( インストール済です )
d) php ( PHP 5.6.32 がインストール済です )
e) phpMyAdmin ( Apache に定義済の URL で使用できます )
f) sendmail ( fake sendmail という Windows 用の sendmail が入っています )
g) Tomcat ( xampp 環境で Eclipse とは別にインストールされています )

インストールが必要なサーバー用ソフトウェア

a) FileZillaFTP ( インストールする必要があります )
b) MercuryMail ( インストールする必要があります )

Pleiades のダウンロード

MergeDoc Project より Eclipse 4.7 Oxygen に入り、Windows 64bit Ultimate Full Edition をクリックしてダウンロードします。

http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/4.7/pleiades-4.7.2-ultimate-win-64bit-jre_20171225.zip と表示が出てダウンロードされます。 



ここから、お約束の注意事項

Pleiades の中に入っている環境を問題無く使用する為には、二つのルールが昔からあります。

1) zip 書庫の名前を短くして( ここでは pleiades.zip )、c:\pleiades.zip とする。
2) 解凍ソフトとして 安全なのは Windows エクスプローラー
   7-ZipWinRAR で高速解凍 (パスの長さ制限を超えても正常に解凍できるため注意が必要)

ここでは、7-zip を( 昔から ) 使用しています。

最初の実行は、eclipse.exe -clean.cmd

これもお約束で、追加でソフトウェアをインストールしたり、環境が変化した場合に実行するようにしています。



最初のこの "c:\pleiades\eclipse\eclipse.exe -clean.cmd" の実行で、xampp の初期設定がされるようです。



ワークスペースを準備する

いろいろな言語や環境が利用可能なので、環境別のフォルダを用意してまず Java の Hello World を行います。



▼ コンソール Java 用のワークスペースを作成します



ワークスペースを作る毎に何故か 『システム PYTHONPATH の変更が検出されました』と出るので、良く解らないので気持ち悪いですが適用します。( いろいろ調べたんですが謎 )



言語毎に パースペクティブが用意されています。



Java のプロジェクトを作成します



プロジェクト名を入力して完了します( 他はデフォルトです )



パースペクティブは、JavaEE がシンプルなので変更して、開始コードを追加します。

▼ パースペクティブ変更


▼ 開始コードを追加




フォントを好みに変更します。



編集ボタンをクリックしてフォントを選択します。



Meiryo UI は、上へスクロール2回



実行の構成を作成します( 他の言語の事もあるのでこれに慣れたほうがいいです )
( ツールバーの実行ボタンの右の ▼ をクリックしてメニューを表示 )



Java アプリケーションをダブルクリックすると新しい構成が追加されるのでそのまま実行します。



ソースはこんな感じで行いました。以降の実行はツールバーからクリックして実行されます。




関連する記事Pleiades Oxygen 2 の XAMPP 内の FileZilla Server をインストールして使用するPleiades Oxygen 2 の XAMPP 内の MercuryMail をインストールして使用するPleiades Oxygen 2 の XAMPP 内の MySQL を利用可能にしてテストデータ(販売管理)を登録するPleiades Eclipse 4.7 Oxygen で Python を使って MySQL にアクセスする


fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信 : Gmail なので ssl(465)

Pleiades Oxygen : Python と Ruby のパースペクティブでワークスペースを開いて最初に現れる『RemoteSystemsTempFiles』を削除する

Pleiades All in One(NEON) で、サーブレットとJSP を作成する手順

Eclipse に Window Builder をインストールして Swing アプリケーションを作成する(1)

Java 8 で、sun.jdbc.odbc.JdbcOdbcDriver を使う手順



Pleiades Eclipse Windows 64bit Ultimate Full Edition 関連

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備

▼ 補足情報 
Pleiades Oxygen : Python と Ruby のパースペクティブでワークスペースを開いて最初に現れる『RemoteSystemsTempFiles』を削除する

同梱アプリケーション

▼ Eclipse のプロジェクトから使用するもの
1) Java ( Eclipse 内で JDK 6,7,8,9 が使用可能です )
    ※ WindowBuilder を追加インストール
2) サーブレット&JSP ( Tomcat は 6,7,8,9 が同梱されて選択して使用可能です )
3) php ( php は xampp に入っていますが、既存のものを使用できます )
4) Ruby (Ruby そのものはインストールが必要です)
5) Python (Python の 2 と 3 が同梱されて実行可能)
6) Perl ( php は xampp に入っています )
7) C++/C ( MinGW GCC が入っていてビルドできます )

▼ 環境として使用するもの
★ XAMPP( この中に環境一式があります )
1) Apache
2) MySQL
3) phpMyAdmin ( apache 環境として動作します )
4) sendmail
5) Tomcat ( Pleiades 側とは別に単独で動作します )

追加インストールして利用するアプリケーション

1) FileZilla サーバー
2) MercuryMail ( POP3 と IMAP4 のメールサーバー )

追加環境

テストにはまだまだ使える(重宝する) AN HTTP Server の正しい使用方法

参考リンク

ざっくりJava JSP/サーブレット


Python

▼ ドキュメント
■ 言語
■ ライブラリ
8.11. pprint — データ出力の整然化

▼ アプリケーション
▼ 参考リンク
Chapter 5 Connector/Python Coding Examples
21.2. cgi — CGI (ゲートウェイインタフェース規格) のサポート

PythonのURLとクエリパラメータのパースまとめ
for文を使った繰り返し文の書き方
Python3基礎文法
基礎を復習 (リスト, タプル, ディクショナリ)
Python3系の基礎文法(文字列)


Ruby

▼ ドキュメント
■ 言語
■ 組み込みライブラリ
■ 標準添付ライブラリ
■ class WIN32OLE
■ library cgi
■ class CGI
■ ヒアドキュメント (行指向文字列リテラル)

▼ アプリケーション
▼ 参考リンク
Ruby/MySQL

Ruby(mechanize) で Seesaa のエクスポート
Win32OLE 活用法 【第 1 回】 Win32OLE ことはじめ
CGI(Ruby) / Hello world !
ruby-mysql の使い方の簡単な説明
Mechanize について


Pleiades Ultimate の XAMPP 内の MySQL を利用可能にしてテストデータを登録する

xampp-control.exe の設定

xampp-control.exe は管理者権限で実行する必要があるので、エクスプローラから右クリックしてプロパティの『互換性』タブで管理者として実行するチェックを ON にします。



my.ini の設定( サーバーをUTF-8 に設定 )



C:\pleiades\xampp\mysql\bin\my.ini の以下の部分のコメントを削除します。



開発用のソフトウェアを準備

SQLの窓 Build C++ と、販売管理C でテスト環境を構築します 。

手順1 ( MySQL の ODBC ドライバ)

SQLの窓 Build C++ は 32ビットアプリケーションなので、まず MySQL の ODBC ドライバ(32ビット)をダウンロードしてインストールします。

Connector/ODBC 5.3

※ 何も選択せずにダイアログ内で進めればOK です
Visual Studio 2013 の Visual C++ 再頒布可能パッケージ

Connector/ODBC 8.0
Microsoft Visual C++ 2015 再頒布可能パッケージ Update 3


手順2 (SQLの窓 Build C++)

次に、SQLの窓 Build C++ をダウンロードして解凍して WinOfSql.exe を実行して下さい。

※ レジストリは使用しません。
※ 複数のフォルダにいくつあっても動作します。
※ 削除すればアンインストールです。

実行後 M ボタンをクリックして MySQL 接続用のダイアログを開き、ODBC アドミニストレータボタンで ODBC の DSN を作成する Windows の管理ツール(32ビット) を実行します。



手順3 ( DSN 登録 )

ここで、xampp-control.exe を実行し、開始ボタンで MySQL を開始します。(初期設定なので失敗しないようにこのタイミングで実行しています / 以降は必要な時でいいです)



ユーザDSN => 追加 => MySQL ODBC 5.3 Unicode Driver

( ODBC32ビットドライバの一覧は、HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI より確認できます)

▼ Details ボタンで全て開いて Character Set で cp932 を選択して下さい。


データベースは、まだユーザ用を作成していないので mysql を選択します。これは後で変更しなくとも、接続時に変更しますのでこのままでいいです。

入力が終わったら、データベースの右の Test ボタンで接続が成功するのを確認します。接続に成功したら、OK で登録します。

手順4 ( SQLの窓 Build C++ で接続して DB 作成 )



M ボタンで接続ダイアログを表示して、DSN に登録した情報で接続します



右側のテキストエリアで create database 自分用のデータベース名 で、Action ボタンをクリックして作成します。





作成後は、いったん終了して再度 SQLの窓 Build C++ を実行します(オペミスを防ぐためです)。そして再度 M ボタンで、今度は作成したデータベース(ここでは lightbox)で接続します。( 接続情報を保存する為です )




手順5 ( 作成した データーベース の確認 )

接続後、テーブルが無いのでなにも表示されませんが、メニューに登録済みの SQL で内容を確認できます。

『データベース一覧』で、登録したデータベースと既に存在するデータベースを確認できます。





『システム変数の値』で、キャラクタセットを確認します





手順6 ( 販売管理C.mdb をインポート )

▼ 学習用 MDB データのダウンロード


解凍した中にある 販売管理C.mdb を SQLの窓 Build C++ の左側のリストにドラッグ&ドロップします。



次にリストの中のテーブルを、SHIFTキーを使って選択して(まず先頭をクリックして、SHIFTキーを押しながら最後をクリック)から、処理 => エクスポート => MySQL を選択



直前の接続が選択されているので、下欄のチェックボックスを二つ選択して実行します


※ チェックボックスが無いと、主キーが無い状態でデータのみがエクスポートされます( 後からキー設定は可能ですがテーブルを全て設定するのは面倒です )

完了すると左下にメッセージが出るので、x ボタンで閉じます。



閉じたら、そこは MDB の接続なので、M ボタンで切り替えて下さい。テーブルの一覧が表示されるはずです。

※ テーブルをダブルクリックすると、テーブルデータが表示されて直接変更が可能です。( 更新は 『編集』メニューから更新です )







関連する記事

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備


Pleiades Oxygen 2 の XAMPP 内の FileZilla Server をインストールして使用する


Pleiades Eclipse 4.7 Oxygen で Python を使って MySQL にアクセスする





AN HTTP Server の使用方法

AN HTTP Server は古いソフトで、サイトも消失していますがきっちり使い方を守れば WWW サーバの必要なテスト環境は USB に丸ごと保存して利用可能です。

手順1) ダウンロード

配布サイトは消失しているので、インターネット・アーカイブから取得可能です。

http://www.st.rim.or.jp/~nakata/

このように、入力すると以下のようになります。



ここから、最後らしい履歴の一つ前のページの 2015/02/05 へ移動します。



すると懐かしいページが表示されるのでスクロールしてダウンロードリンクを表示させます。





リンクをクリックしたらダウンロードして、httpd142p.zip を C:\ にコピーして解凍します。そして、httpd.exe をエクスプローラで右クリックしてプロパティダイアログを開いて互換性タブをクリックします。

一番大事なのは、ここで『管理者としてこのプログラムを実行する』にチェックを入れる事です。そしてこれが最も重要なルールです。




手順2) 最初の設定

実行して最初に設定画面からする事があります。実行すると、HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\AnHttpd が作成されて、設定はその下のキーの default に保存されます。

ですから、USB で場所を移動する場合はこの default キーをエクスポートして USB にコピーしましょう。また、複数の環境を管理したい場合はこのレジストリのエクスポートとインポートで管理しましょう。

(※ バックアップを兼ねる事ができます)

間違って、管理者権限以外で実行してしまってレジストリがおかしくなってしまっても、インポートすれば元に戻ります。

また、バックアップが無くても、レジストリから HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\AnHttpd を削除すれば正しく動作するようになります。
▼ 設定画面を開く 設定 1 : インデックスを表示する このチェックをまず外すのを設定でいつも最初に行います。というか、設定らしい設定といえばこれくらいで、後はスクリプト用の実行ファイルの登録と、仮想パスの登録ぐらいです。仮想パスにいたっては、C:\httpd142p がルートになっているので、フォルダを作成すればそのまま使えて USB での移動がしやすくなります。 設定 2 : PHP を登録する
この際、AN HTTP  Server の設定より重要なのは、php.ini の設定で以下を必ず行う事です。

cgi.force_redirect = 0
追加ボタンをクリックします PHP のパスは参照できないので、エクスプローラで SHIFTキ-を押しながら php-cgi.exe を右クリックして『パスのコピー』で取得したパスを貼り付けてから両端のダブルクォーテーションを取り除きます。 拡張子は .php です 設定 3 : 仮想パス を登録する 特に必要は無いですが、必要な場合は『エイリアス』タブで追加ボタンを押します これも、参照できないので php-cgi.exe と同様です。仮想パスは先頭に / を入れて下さい。 手順3) PHP の動作確認 以下の内容を C:\httpd142p に適当にフォルダを作成してその中に info.php として置いてから ブラウザで localhost よりインデックスを伝ってアクセスします。
<?php

phpinfo();

?>


設定が完了したら、レジストリより以下のキーをエクスポートして保存しておきます(インポートすると設定を復帰できますし、他のPCへの移行も可能です)
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\AnHttpd\default

手順4) 補足

以下のコマンドで HOSTS ファイルを開いて、127.0.0.1 に適当なドメインを割り当ててローカルの開発環境を本番に見立ててテストします。
cmd.exe /c powershell -NoProfile -ExecutionPolicy unrestricted -WindowStyle hidden -Command "start notepad.exe %SystemRoot%\system32\drivers\etc\hosts -verb runas"









IE11のソースエディタの変更 / VBScript

最新の IE11 では、HKEY_CURRENT_USER でしか動作しないようです。





全て VBScript のみで実行しています。ですから、ファイル参照ウインドウの表示が、現在表示しているウインドウに隠れたりする場合があるので注意して下さい。

ieSrcEditor.wsf をエクスプローラから実行すると、ファイルを参照するダイアログが開きます。内部のコードは以下のようになっていますが、必要な関数等はインターネット上に保存して使用しています。ここでは、ローカルのファイルを開いてパスを取得する為に、InternetExplorer.Application を使用しています。

アンインストールは、zip 内の uninstall.reg か 以下のテキストを uninstall.reg として shift_jis か Unicode で保存してエクスプローラから実行します。内部は、Microsoft の仕様によるレジストリエントリの削除記述となっています。ですから、実際削除を行うのは、regedit.exe です。
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\View Source Editor]


▼ 実行用のソースコードです
<JOB>
<COMMENT>
************************************************************
 WEB WSH 実行スケルトン
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' 管理者として実行を強制する
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
	Wscript.Quit
end if

' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )
Call laylaLoadFunction( "wmiReg.vbs" )
Call laylaLoadFunction( "toolFunction.vbs" )

' **********************************************************
' エディタ選択
' **********************************************************
strValue = OpenLocalFileName
if strValue = "" then
	Wscript.Quit
end if

' **********************************************************
' レジストリ
' **********************************************************
strPath = "SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name"
Call WMIRegCreateKey( HKEY_CURRENT_USER, strPath )
strValue = Dd( strValue )
Call WMIRegSetStringValue( HKEY_CURRENT_USER, strPath, Empty, strValue )

MsgOk( strValue & " を IE のソースエディタとして登録しました" )

Function OpenLocalFileName( )

	Call GetObj( "IEDocument", "InternetExplorer.Application" )
	IEDocument.Navigate( ScriptDir( ) & "\local.htm" )
	IEDocument.document.getElementsByTagName("BODY")(0).innerHTML = "<input id=FilePath type=file>"
	IEDocument.document.getElementById("FilePath").click
	if IEDocument.document.getElementById("FilePath").value = "" then
		OpenLocalFileName = ""
		IEDocument.Quit
		Set IEDocument = Nothing
		Exit Function
	end if

	OpenLocalFileName = IEDocument.document.getElementById("FilePath").value

	IEDocument.Quit
	Set IEDocument = Nothing

End Function
</SCRIPT>
</JOB>






SQLServer : 前月データを抽出する条件

まず、dateadd と datepart の機能を確認する為の SQL が以下のようになります。

※ m と mm は month の省略形です
select
	cast('2019/01/01' as datetime),
	dateadd(month, -1, getdate()),
	dateadd(m, -1, getdate()),
	dateadd(mm, -1, getdate()),

	case
	when datepart(year, cast('2019/01/01' as datetime)) = datepart(year, dateadd(month, -1, getdate()))
	 	then '一致しました'
		else '一致しません'
	end as 年比較,

	case
	when datepart(month, cast('2019/01/01' as datetime)) = datepart(month, dateadd(month, -1, getdate()))
	 	then '一致しました'
		else '一致しません'
	end as 月比較

▼ これを踏まえて条件にしたものです。
select *

from [テーブル名]

where
	DATEPART(year, 対象日付) = DATEPART(year, DATEADD(m, -1, GETDATE()))
and	DATEPART(m, 対象日付) = DATEPART(m, DATEADD(m, -1, GETDATE()))


現在の年月日を getdate() で取得し、その月を一つマイナスして年部分と月部分を別々に取得して、比較したい日付の年部分と月部分がどちらも一致していたら、前月です。


関連する Microsoft ドキュメント

DATEADD (Transact-SQL)

DATEPART (Transact-SQL)

CAST および CONVERT (Transact-SQL)

CASE (Transact-SQL)




コンピュータアイコンにメニューを追加する

※ Windows の大きなアップデートで消える可能性はありますが、自分の好きなコマンドでカスタマイズできるので便利です。

▼ Windows10


▼ インストールするレジストリのキー
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell

現状ではおそらくレジストリの該当場所の所有者が TrustedInstaller となっており、Administrators グループに権限が無いと思います。

いったん所有者を Administrators グループ に変更してから、Administrators グループ にアクセス権限を与えます。その後にレジストリのインポートを行って下さい。


アクセス許可を選択して表示されたダイアログの詳細設定ボタンをクリックして、表示された『shell のセキュリティの詳細設定』というダイアログの先頭にある『変更リンク』で所有者を変更します。

Administrators に変更した後、アクセス許可で Administrators にフルコントロールを設定します。


▼ 解凍後の内容 ▼ README
************************************************************
コンピュータアイコンメニュー設定レジストリデータ

■ 事前準備

	インストール場所を開く.bat をエクスプローラからダブル
	クリックしてレジストリエディタを起動し、選択されている
	キーの所有者を自分が所属する Administrators グループに
	変更して、Administrators にフルコントロールを設定します

■ インストール

	computer_menu をエクスプローラからタブルクリック
	してインポートして下さい

■ アンインストール

	uninstall_computer_menu をエクスプローラからタブル
	クリックして下さい


■ 登録された場所でレジストリエディタを開く
	インストール場所を開く.bat をエクスプローラからタブ
	ルクリックして下さい

■著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
computer_menu.reg
001 : mmc.exe "%SystemRoot%\system32\services.msc" /s
002 : "%ProgramFiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe"
003 : RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl
004 : RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl
005 : regedit.exe
006 : %SystemRoot%\system32\cmd.exe
007 : UserAccountControlSettings.exe
008 : mmc.exe "%windir%\system32\eventvwr.msc" /s
009 : rundll32.exe netplwiz.dll,UsersRunDll
010 : rundll32.exe sysdm.cpl,EditEnvironmentVariables
011 : cmd.exe /c powershell -NoProfile -ExecutionPolicy unrestricted -WindowStyle hidden -Command "start notepad.exe %SystemRoot%\system32\drivers\etc\hosts -verb runas"
012 : RUNDLL32.EXE shell32.dll,Options_RunDLL 7
013 : mmc.exe "%windir%\system32\taskschd.msc" /s
014 : mmc.exe "%SystemRoot%\system32\gpedit.msc"
015 : mstsc.exe
016 : control.exe /name Microsoft.WindowsUpdate
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001]
@="   サービス"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,\
  00,65,00,73,00,2e,00,6d,00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002]
@="   システム情報"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
  00,65,00,73,00,25,00,5c,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,46,00,\
  69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
  00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,00,5c,00,4d,00,53,00,49,00,\
  6e,00,66,00,6f,00,5c,00,6d,00,73,00,69,00,6e,00,66,00,6f,00,33,00,32,00,2e,\
  00,65,00,78,00,65,00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003]
@="   プログラムと機能"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003\command]
@="RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004]
@="   ODBC アドミニストレータ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004\command]
@="RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005]
@="   レジストリエディタ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005\command]
@="regedit.exe"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006]
@="   コマンドプロンプト"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
  64,00,2e,00,65,00,78,00,65,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007]
@="   UAC"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007\command]
@=hex(2):55,00,73,00,65,00,72,00,41,00,63,00,63,00,6f,00,75,00,6e,00,74,00,43,\
  00,6f,00,6e,00,74,00,72,00,6f,00,6c,00,53,00,65,00,74,00,74,00,69,00,6e,00,\
  67,00,73,00,2e,00,65,00,78,00,65,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008]
@="   イベント ビューアー"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,65,00,76,00,65,00,6e,00,74,00,76,00,77,00,72,00,2e,00,6d,\
  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009]
@="   ユーザーアカウント"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009\command]
@="rundll32.exe netplwiz.dll,UsersRunDll"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010]
@="   環境変数"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010\command]
@="rundll32.exe sysdm.cpl,EditEnvironmentVariables"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011]
@="   HOSTS"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011\command]
@=hex(2):63,00,6d,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,63,00,20,00,70,\
  00,6f,00,77,00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,20,00,2d,00,4e,00,\
  6f,00,50,00,72,00,6f,00,66,00,69,00,6c,00,65,00,20,00,2d,00,45,00,78,00,65,\
  00,63,00,75,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6c,00,69,00,63,00,79,00,\
  20,00,75,00,6e,00,72,00,65,00,73,00,74,00,72,00,69,00,63,00,74,00,65,00,64,\
  00,20,00,2d,00,57,00,69,00,6e,00,64,00,6f,00,77,00,53,00,74,00,79,00,6c,00,\
  65,00,20,00,68,00,69,00,64,00,64,00,65,00,6e,00,20,00,2d,00,43,00,6f,00,6d,\
  00,6d,00,61,00,6e,00,64,00,20,00,22,00,73,00,74,00,61,00,72,00,74,00,20,00,\
  6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,25,\
  00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,\
  73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,00,69,00,76,\
  00,65,00,72,00,73,00,5c,00,65,00,74,00,63,00,5c,00,68,00,6f,00,73,00,74,00,\
  73,00,20,00,2d,00,76,00,65,00,72,00,62,00,20,00,72,00,75,00,6e,00,61,00,73,\
  00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012]
@="   フォルダオプション"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012\command]
@="RUNDLL32.EXE shell32.dll,Options_RunDLL 7"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013]
@="   タスク スケジューラ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,74,00,61,00,73,00,6b,00,73,00,63,00,68,00,64,00,2e,00,6d,\
  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014]
@="   ローカル グループ ポリシーエディタ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,67,00,70,00,65,00,64,00,69,00,74,\
  00,2e,00,6d,00,73,00,63,00,22,00,00,00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015]
@="   リモートデスクトップ"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015\command]
@="mstsc.exe"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016]
@="   Windows Update"

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016\command]
@="control.exe /name Microsoft.WindowsUpdate"


▼ インストール場所


▼ インストール場所を レジストリエディタで開く VBScript
strParam = Trim( "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell" )
' 無ければ、クリップボード
if strParam = "" then
	' クリップボード用
	' ※ HTA 等では直接 window.clipboardData より実行
	' ※ するように書き換える必要があります
	Set objIE = CreateObject("InternetExplorer.Application")
	objIE.Navigate("about:blank")
	Do While objIE.Busy
		' 100 ミリ秒
		Wscript.Sleep 100
	Loop
	strParam = objIE.document.parentWindow.clipboardData.GetData( "Text" ) & ""
	objIE.Quit
end if
strParam = Trim( strParam )
' 無ければ入力
if strParam = "" then
	strParam = InputBox("開く対象となるレジストリーのキーを入力して下さい")
end if
if strParam = "" then
	Wscript.Quit
end if

' レジストリ書き込み用
Set WshShell = CreateObject( "WScript.Shell" )
' WMI用
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

' レジストリエディタが最後に開いていたキーの登録を行います
strPath = "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
if GetOSVersion() >= 6 then
	strRegPath = "コンピューター\" & strParam
else
	strRegPath = "マイ コンピュータ\" & strParam
end if

' 既に regedit が実行中の場合はいったん終了させます
Set colProcessList = objWMIService.ExecQuery _ 
	("Select * from Win32_Process Where Name = 'regedit.exe'") 
For Each objProcess in colProcessList
	' 最後のウインドウの位置とサイズを保存する為の終わらせ方
	WshShell.AppActivate("レジストリ エディタ")
	Wscript.Sleep(500)
	WshShell.SendKeys ("%{F4}")
	Wscript.Sleep(500)
	' 上記終わらせ方が失敗した時の強制終了
	on error resume next
	objProcess.Terminate() 
	on error goto 0
Next 

WshShell.RegWrite "HKCU\" & strPath, strRegPath, "REG_SZ"

' レジストリエディタを起動します
Call WshShell.Run( "regedit.exe" )
' レジストリエディタが終わるまで待つ場合は以下のようにします
' Call WshShell.Run( "regedit.exe", , True )

REM **********************************************************
REM OS バージョンの取得
REM **********************************************************
Function GetOSVersion()

	Dim colTarget,str,aData,I,nTarget

	Set colTarget = objWMIService.ExecQuery( _
		 "select Version from Win32_OperatingSystem" _
	)
	For Each objRow in colTarget
		str = objRow.Version
	Next

	aData = Split( str, "." )
	For I = 0 to Ubound( aData )
		if I > 1 then
			Exit For
		end if
		if I > 0 then
			nTarget = nTarget & "."
		end if
		nTarget = nTarget & aData(I)
	Next

	GetOSVersion = CDbl( nTarget )

End Function





jQuery : ページ右下にページ先頭にジャンプするリンクを表示させる( アニメーションは無し )

このブログで実装しているものを jQuery に置き換えたものです。リンクは、スクロールしていない先頭では表示されませんが、少しスクロールすると表示されます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function(){

	// ページ右下固定位置のリンク
	var scroll_top = $("<a id='scroll_top'>▲</a>")
	scroll_top.prop("href","javascript:void(0)");
	scroll_top.css({ 
		"position": "fixed",
		"text-decoration": "none",
		"font-size" : "40px",
		"color" : "rgba(255,255,255,0.85)",
		"text-shadow" : "1px 1px 2px #656a6f",
		"right" : "0.5%",
		"bottom" : "5rem",
		"display" : "none"
	});

	// クリックした時の処理
	scroll_top.on("click", function(){
		window.scroll(0,0);
	});

	// ページの最後に追加
	$("body").append( scroll_top );

	// スクロールが無い先頭部分では表示しない
	$(window).on("scroll",function(){
		var scroll = $("html").scrollTop();
		if ( scroll <= 200 && $("#scroll_top").css("display") != "none" ) {
			$("#scroll_top").css("display","none");
		}
		if ( scroll > 200 && $("#scroll_top").css("display") == "none" ) {
			$("#scroll_top").css("display","");
		}
	});	

});
</script>







Microsoft® SQL Server® Express のダウンロードとインストール

Microsoft® SQL Server® 2012 Express
Microsoft® SQL Server® 2014 Express
Microsoft® SQL Server® 2016 Service Pack 2 Express
Microsoft® SQL Server® 2017 Express

バージョン、エディション、および SQL Server の更新プログラム レベルとそのコンポーネントを確認する方法

以下は Microsoft® SQL Server® 2012 Express をインストール時のキャプチャです


















参考情報

SQLExpress 2005( および 2008 ) の接続設定