Category: 開発日記

Visual Studioで作成したWindows Formアプリケーションのインストーラ作成方法を備忘録としてまとめてみた。

 

setup

過去にも自作ソフトを配布する際、何度かインストーラを作成して配布していたこもあったけど、ここ最近は、インストーラを作成せず、exeなどをzipで固めて配布していた。
その方が楽だし、利用者も抵抗感が少ないと思ったから。

でも、たまに実行権限の問題や、スタートアップ登録方法など問い合わせを受けることもある。
場合によっては、インストーラ付きでの配布を求められるシーンもある。
そんな訳で、また忘れてしまうであろうインストーラ作成方法をメモっておくことに。


 

昔はVisual Studioでセットアッププロジェクト(msi形式のインストーラ)を簡単に作成できたけど、
Visual Studio 2012以降では、セットアップ プロジェクトが無くなり、ウィザードでインストーラ作成(ディプロイメント)することが出来なくなってしまった。

当時、困って調べたらセットアッププロジェクトに代わり、InstallShield Limited Editionを使ってインストーラを作れることが分かった。
Excelを使ったプログラムとインストーラの作成

なので、今回もInstallShieldを使って作ろうと思ったんだけど、Visual Studio 2017 Community 2017ではInstallShield Limited Editionが無くなっている。
これからは、やっぱりInstallShieldの時代の時代で、皆さんちゃんと有料版使ってインストーラ作ってくださいって流れなのかな。

でも、何とかコストをかけずに気軽にインストーラ作れないか調べてみたところ、一度無くなった(と思われていた)msi形式のインストーラ作成用のコンポーネント(Visual Studio Installer Projects)が復活していた。
簡単なインストーラしか作成できないけど、これで十分。
だいぶ使い方を忘れてしまったので、自分用のメモとしても使い方を残しておくことに。

 

Visual Studio Installer Projectsの追加

何はともあれ、Visual Studio 2017に、[Visual Studio Installer Projects]を追加してみる。

 
Visual Studioを起動し、[ツール]>[拡張機能と更新プログラム]メニューを開く。
[ツール]>[拡張機能と更新プログラム]
 

「拡張機能と更新プログラム」ダイアログが表示されるので、画面左側のツリーから「オンライン」を選択し、画面右上の検索ボックスで「Installer Projects」を指定し検索。
すると、「Microsoft Visual Studio 2017 Installer Projects」が引っ掛かるので、これを「ダウンロード」。
Microsoft Visual Studio 2017 Installer Projects
 

ダイアログと、Visual Studioを閉じるとインストールが始まる。
インストール
 

これでVisual Studio Installer Projectsのインストールは完了。
Visual Studio Installer Projectsのインストール完了
 

Windowsアプリケーションの作成

こちらは、既に作成済みと思うので割愛。
 

参考:
Hello World!作成

 

インストーラ作成

そして、ここから今回の肝となるインストーラの作成の手順。
 

  1. ソリューションを開く
    Visual Studioを起動し、あらかじめ作成したWindowsアプリケーションを開く。
    (または、エクスプローラーからソリューションのファイル *.sln ダブルクリック)
    Windowsアプリケーションを開く
     

  2. プロジェクトの追加
    画面右側にある「ソリューションエクスプローラー」のツリー一覧の中から、一番トップにある「ソリューション」を右クリックし、ポップアップメニュー「追加」>「新しいプロジェクト」を選択。
    「追加」>「新しいプロジェクト」
     

  3. プロジェクトの種類選択
    「Setup Project」を選択し[OK]ボタン押下。
    Setup Project

     
    すると、ソリューションの中に作成したセットアップ用のプロジェクトが追加される。
    Setup1が追加される
     

  4. ファイルシステムの編集
    まずは、ファイルシステムから設定を行う。
    上記流れで、既に「Files System(Setup名)」タブが表示されていると思うが無い場合は、「ソリューションエクスプローラー」のセットアップ(Setup1)を右クリックし、ポップアップメニューで[View]>「ファイルシステム」を選択すると表示できる。
    ファイルシステム
     

    最初に以下の3つのフォルダが用意されている。
    主な役割は以下のような感じ。

    • Application Folder
      作成したアプリケーション(exe,dllなど)のコピー先などをここで指定する。
      “C:\Program Files\ApplicationName\Application.exe”など

    • User’s Desktop
      ユーザーのデスクトップにコピーするものを指定。
      プログラムのショートカットなどあれば指定。
      デスクトップに配置

    • User’s Program Menu
      ユーザーのプログラムメニューに追加するものを指定。
      プログラムのショートカットなどを指定。

     

  5. アプリケーションフォルダの設定
    「Application Folder」を右クリックし、ポップアップメニュー[Add]>[プロジェクト出力]を選択。
    プロジェクト出力
     

    「プロジェクト出力グループの追加」ダイアログが表示されるので、そこで「プライマリ出力を選択。
    すると、Windowsアプリケーションで作成したexeやdllなどをインストール対象として含んでくれる。
    あと「構成」は「Release」を選択。
    プロジェクト出力グループの追加
     

    exeなど以外にも、例えばヘルプファイルや、Readmeなどもインストールに含めておきたい場合、同様に、[Application Folder]を右クリックし、ポップアップメニュー[Add]>[ファイル]を選択。
    そこで、ヘルプファイルやReadmeファイルなどを指定し追加。
    ヘルプファイルやReadmeファイルなどを指定し追加
     

  6. ユーザーのデスクトップの設定
    デスクトップにアプリのショートカットを作成したい場合などは、こちらを編集する。
    今回は割愛。やり方は次の「ユーザーのプログラムメニューの設定」とほぼ同じ。
     

  7. ユーザーのプログラムメニューの設定
    今度はWindowsのスタートメニューに登録する情報を設定する。
     

    「User’s Programs Menu」を右クリックし、ポップアップメニュー[Add]>[Folder]を選択。
    User's Programs Menu
     

    フォルダ名を変更。(今回はアプリケーション名である”RSS速報”という名に変更)
     

    更に、作成したフォルダが選択された状態で、右側のListView画面を右クリックし、ポップアップメニュー[新しいショートカットの作成]を選択。
    新しいショートカットの作成
     

    「Select Item in Project]ダイアログが表示されるので、そこでリストの中から”Application Folder”を選択後、”プライマリ出力 from ~(Release Any CPU)”を選択し[OK]押下。
    Select Item in Project
     

    メイン画面に戻り、追加された”Shortcut to プライマリ出力 from ~”を選択し、画面右側のプロパティで、[Name]を上記名前から、任意のショートカット名に変更する。
    (ここでは、アプリ名の”RSS速報”に改名)
    Name
     

    次に、表示するアイコンも変更する。
    上記、[Name]同様に、プロパティの一覧にある[Icon]をダブルクリック。
    表示された「Icon」ダイアログの[Browse…]ボタンを押下し、
    Icon
     

    「Select Item in Project」ダイアログで、アイコンの参照先である”Application Folder”をダブルクリック後、[File of Type]で”Execute Files(*.exe)”を選択。
    すると一覧に”プライマリ出力 from ~(Release Any CPU)”などが表示されるので、これを選択し[OK]押下。
    Select Item in Project
     

    [Icon]ダイアログに戻ると、exeファイル内にあったアイコンが表示されているので、このアイコンを選択し[OK]押下。
    Icon
     

    これで、exeのショートカットがプログラムメニューの方にも登録された。
     

    更に、ヘルプ、Readme追加も同じような感じで設定する。
    Readme
     

    これで必要最小限の設定は完了。
     

  8. 名前の変更
    最後に、セットアッププロジェクトのプロパティを一部修正する。
     

    [ソリューション エクスプローラー]で”Setup1″を選択し、その下のプロパティ一覧で必要に応じて以下の情報を修正する。
     

    ・Author
    ・Manufacturer
    ⇒これらメールアドレスだったので必要に応じて修正
     

    ・ProductName
    ・Title
    ⇒セットアップのプロジェクト名から、アプリケーション名に変更(今回は”Setup1″⇒”RSS速報”)
    Author
     

  9. インストーラを作成
    設定が終わったので、いよいよインストーラの作成。
    「ソリューション エクスプローラー」で今回作成したセットアッププロジェクト(ここでは”Setup1″)を右クリックし、ポップアップメニュー[ビルド]を選択。
    ビルド
     

    これで、Setup1\Releaseフォルダ配下にも、”setup.exe”と”Setup1.msi”ファイルが作成される。
    etup1.msi
     

  10. インストーラの実行(テスト)
    作成されたインストーラを試す場合、”setup.exe”を実行してみる。(msiが使えるPCであればmsi側でもOK)
    それか、先ほどのVisual Studio上で”Setup1″のプロジェクトを右クリックし、ポップアップメニュー[インストール]を実行してみてもOK。
    インストール
    インストール
     

    セットアップウィザードへようこそ
    セットアップウィザードへようこそ
     

    インストールフォルダの選択
    インストールフォルダの選択
     

    インストールの確認
    インストールの確認
     

    インストールが完了しました。
    インストールが完了しました。
     

    これでインストール完了。
    プログラムメニューにも登録されている。
    プログラムメニュー
     

    アンインストールする場合は、インストール時同様、Visual Studio上のポップアップメニューから「アンインストール」を選択するか、再度、エクスプローラーから”setup.exe”を実行するか、一般のアプリ同様、コントロールパネル>プログラムのアンインストールから実行する。

 
 

C#で、Windowsフォームの角を丸くして表示する方法。
 

普通のWindowsフォームは、タイトルバーとか境界線が付き、角も角ばっている。
角ばったWindowsフォーム

 

それを、こんな感じに角を丸くして表示する。
フォームの角を丸くする

 
(さらに…)

開発環境をVisual Studio Community 2013から、
Visual Studio Community 2015に切り替えてみた。
Visual Studio Community 2015
 

[Microsoft:無料開発ツール – Visual Studio Community 2015]
https://www.visualstudio.com/products/visual-studio-community-vs
 

(さらに…)

スタートアップメニューにショートカットを登録

Windows起動時にアプリを起動させたい場合、スタートアップメニューにアプリを登録することは良くあると思う。

でも、Windows 10や8.1などでは、スタートアップメニューへの登録方法が面倒というか分かりにくく、自作ソフトでもたまに問い合わせが来る。

インストーラでスタートアップに登録すれば確実なんだけど、フリーソフトでインストーラとかは嫌がられる場合も多く、作る手間も掛かる。

そんな訳で、アプリケーション側で、自分自身のショートカットをスタートアップメニューに登録する方法を調べてみた。

 
 

まずは、スタートメニューのフォルダを調べる方法。

// 特殊ディレクトリ(スタートアップ)のパスを取得する
Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)

Stringの値が返される。
例)C:\Users\<ユーザ名>\AppData\Roaming\Microsoft\Windows\Start Menu

 
 

そして、アプリ自身のexeファイル名の取得方法。

Path.GetFileName(Application.ExecutablePath)

Stringの値が返される。
例)sampleApl.EXE

 
 

あとは、exeのショートカットをスタートメニューのフォルダにコピーするだけ。

・・・。

あれ、どうやらC#やVB.NETではファイルのショートカットを作る機能が無いっぽい。

 

そういえば、前も似たようなことをやった記憶が。。

そうだ、これだ。
[C#] 送るメニューにショートカットを登録/解除する方法

この時も、ショートカット作成に苦労した。

なので、ショートカットの作成は、上記記事の「方法4」を流用し、WSH(Windows Script Host)でショートカットを作成する。
いろいろ方法があるので、詳しくは上記記事を参照。
(さらに…)

前に、Windows 10 Enterprise Technical PreviewをVMware Playerにインストールしたことはあったけど、今度は7/29正式版のWindows10をメインPCにインストールしてみた。
まだインストールトラブルもちらほら聞く中、自作ソフトの動作確認をしなければならないので人柱覚悟でインストール。
 

Windows10
 

と言っても、環境ぶっ壊れるといろいろ面倒なことになるので、手動で可能な限りファイルバックアップ。
に加え、以下のサイトを参考に、PCを丸ごとバックアップ。
Windows 10を入れる直前の状態で復元できるイメージバックアップのつくりかた
USBメモリに「回復ドライブ」を作成し、
外付けHDDに「システム イメージ」をごっそりバックアップ。

やらなくてもいいけど、念のため。。

 

そしてWindows10のインストール作業へ。

Windows10への無償アップグレードの予約をし、タスクトレイにWindowsアイコンが表示されている状態。
Windows10への無償アップグレードの予約

 
(さらに…)

Windows Vista78と、新OSが出る度にVMで自作ソフトの動作確認をしていたけど、
今回もWindows10環境を構築してみることにした。

プレビュー版を入れるような空きPCも無いので、今回も仮想環境にWindows10をインストール。

 

windows10

 
(さらに…)

ListViewコントロールで、詳細表示(ViewプロパティをDetails)し、アイテムを追加していくと描画処理が異常に重くなる現象が発生。
この問題を解決するのに少しハマったので覚書としてメモっておく。

自作ソフトRSS速報のListView表示で、数十件の項目を表示するのに数分かかることもある。

ListView
描画時にGUIがほぼ固まってしまう。

遅い処理部分をデバッグで調べてみると、

ListViewItem lItm = listView1.Items.Add(FormMain.saveItems[i, j, 0]);

の行で、数秒が掛かっている。
しかも、件数が増えれば増えるほど遅くなっていく。
(さらに…)

エクスプローラーなどでファイルを右クリックしたときに出てくる「送る」メニュー。
この送るメニューにアプリケーションを登録しておくと、選択したファイルの情報を
アプリケーションに渡して起動できるため、使い方によっては便利な機能。
01
例えば、logファイルを”メモ帳”に送って起動するといったことができる。

(さらに…)

Windowsストアアプリ

Windowsストアアプリと言っても、Windows8用とWindows8.1用と異なり、
Windows8用のストアアプリはVisual Studio 2012で開発し、
Windows8.1用のストアアプリはVisual Studio 2013で開発する必要がある。

Windows8は無料アップデートでWindows8.1になるので、もうWin8用ストアアプリを態々作る必要も無いだろう。
なので、最初からWin8.1向けWindowsストアアプリ開発に挑戦してみる。
(さらに…)

.NETが一部OSS化され、.NET開発環境であるVisual Studio 2013も条件付きで無料版がリリースされた。

ずっと、そーなればいいなとは思っていたけど、まさか本当に実現するとは。凄い。
.NETも、やっと少しようやく何とな~くJavaに近付いてきた。ような気がする。

サーバーサイドの.NET Core Runtimeは、LinuxとかMac OS Xにも対応。

で、Visual Studioの方は無料化された。
とは言っても、もともとVisual Studio Expressは無料だった。
まぁ、こちらは「for Web」とか「for Windows」「for Windows Desktop」など、作りたい物によってモノが分かれていたため、1つ1つインストールしなければならなかったけど。

それが、今回Visual Studio 2013 Professionalみたいな感じで1つになっている。

更にVisual Studio Community 2013では、Android、iOS向けのアプリも開発できるとのこと。

でも、このVisual Studio Community 2013は、利用者に制限を設けていて、個人開発者、大学関係者、非営利団体従事者、オープンソース開発者、中堅・中小企業などに該当しなければならないので注意が必要。

 

Visual Studio Community 2013

 

そんな訳で、開発環境をVisual Studio Community 2013に乗り換えてみることにした。

 
(さらに…)

C#でExcelファイルを読み書きするプログラムと、そのプログラム(exe)を配布するためのインストーラを作ってみた。

C#でExcelファイルを読み書きするプログラム
何故態々インストーラを作成するのか?

それは、作成したExcelを使ったプログラムは、exeの配布だけでは他のPCでは動かないため。
Excel関連のDLLも一緒に配布する必要がある。

例えば、前に作成したサンプルアプリの場合、配布時は以下のDLLが必要。

  • Microsoft.Office.Interop.Excel.dll
  • Microsoft.Vbe.Interop.dll
  • office.dll
  • stdole.dll

 

⇒これ、後から気づいたけど実は認識誤り(.NET Framework 3.5までの話)。
 .NET Framework 4以降ではDLL配布を不要にする方法がある。
 説明も後記するので最後までちゃんと読んでね。

 

昔のVisual Studioではセットアッププロジェクト(Windows ベースのアプリケーションのmsiインストーラ)を作成する際、必要なDLLを自動で抽出してくれていた。

インストーラ付きで配布するのが嫌という場合、exeと抽出されたDLLだけを他PCにコピーしても動作する。
ただ、インストーラ無しで、抽出されたDLLを勝手に再配布するのはNGかも知れない。
あと、勿論、配布先PCにもMicrosoft Excelをインストールしておく必要はある。

じゃぁ、昔みたいにインストーラを作ればいい。

と、思ったら、、
Visual Studio 2012以降では、セットアップ プロジェクトが無くなり、ウィザードでインストーラ作成(ディプロイメント)することが出来なくなってしまったらしい。

・・・それは困った。

必要なDLLはMSDNとかに載っているかもしれないけど、前と同じような方法ができないか調べてみた。

 

すると、従来のセットアッププロジェクトに代わり、InstallShield Limited Editionを使ってインストーラを作れることが分かった。
でも、InstallShieldって有料じゃなの?

と思ったけど、このLimited Editionってのは簡易版で無料らしい。

ただ、無料版のVisual Studio Expressでは使えず、Visual Studio Professional以降じゃないと、InstallShield Limited Editionは使えないようだ。

 

という事で、おさらいも兼ねてVisual Studio 2013を使ってExcelを使ったプログラムと、インストーラをInstallShieldで作ってみることにした。

 
 

Excel用のプログラム作成

まずは、C#でExcelを使ったプログラムを作成。
exeの作成方法は、ほぼ前回と同じ。
(さらに…)

くしけん
前に、Ajaxを使い複数のネットショップを一括検索するサイト「くしけん」を作ったんだけど、ここ最近は放置気味で殆どメンテできていなかった。

ああしたい。こうしたい。という案はいろいろあったんだけど。
(さらに…)

C#やVB.NETなどのアプリケーションで、WebサイトやHTMLなどを表示したい場合に使うWebBrowserコントロール。
このWebBrowserコントロールを使えば、簡単にInternet Explorer同等のWebページを表示できる。

でも、最近このWebBrowserコントロールで表示崩れが増えてきたような気がする。

例えば、ここのホームページを表示すると、メニューのスタイルが崩れてしまう。

 

↓WebBrowserコントロールで表示
WebBrowserコントロールで表示

 

(さらに…)

自作フリーソフトについて、最新の開発環境であるVisual Studio 2013でリビルドし、最新OSのWindows8.1上で問題なく動作するか確認してみた。
Windows8.1 + Visual Studio 2013
(さらに…)

本日、Windows8.1がリリースされた。
Windows8からのアップグレードは無料ということで、早速インストールしてみた。

Windows8.1

(さらに…)

今年も凄く暑くなってきて、節電も気になり始めたんで、また電力ネタを。
以前、電力使用率を表示するガジェットを作成したけど、Windows8からデスクトップガジェットが使えなくなってしまった
なので、Windows8上でも簡単に表示できるよう、HTML上で表示できる電力メーターを作ってみた。
丁度、HTML5のスキルアップもしたかったので、Flashのような絵が描ける<canvas>を使って作ることに。
でも、テキストエディタのみで、メーターのイメージを想像しながら作るのは、ちょっと難しかった。。
かなり試行錯誤を繰り返す羽目に。
それでも、なんとかイメージに近いものが出来上がった。
meter
一応グラデーションとか光沢など余計なものも作り込んである。
針と文字は、もうちょい何とかしたかったけど。
特にアプリ化する予定も無く、これで終わりだけど、勿体ないのでOsadaSoft実験室というページを作り、そこに載せて置くことにした。
HTML5+Ajaxによる電力メーター

(さらに…)

自作ソフトのWindows8対応がまだ完全には終わっていないため、少しずつ進めているが、
RSS速報と、アフィリサーチのヘルプが文字化けすることに気付いた。
01

(さらに…)

Excelに保存したデータを利用して、何かプログラムを作ろうとした場合、通常はExcelマクロなんかを使うことが多いと思う。

実際、マクロはVBA(言語的には旧Visual Basic 6.0)を利用するため、コーディングの難易度が低く、ちょっとした表計算やグラフ作成なら簡単に扱うことができ便利。

だけど、既存のExcelにマクロ追加など手を加えたくなかったり、複数のExcelデータを利用した処理を行いたかったり、他システムとの連携や、ちょっと複雑な処理を加えたいといった場合は、マクロはでは役不足。

C#からExcelを利用するプログラムについて作り方をよく忘れてしまうんで、覚書きとしてメモっておくことにした。
10
開発言語はC#(VB.NETなども同様)で、実行環境にはExcelが必要。

今回は、Visual Studio 2010 Professional + Microsoft Office Excel 2007
の組み合わせで実行したけど、
Visual Studio 2012 Express for Windows Desktop + Microsoft Excel 2010
の組み合わせでも問題なく動作した。

<追記>
Visual Studio 2013+Microsoft Excel 2013とかも基本的に同じようなやり方で動作する。

作成方法

(さらに…)

今までVisual Studio 2010で自作ソフトを開発していたけど、PCをWindows 8に乗り換えたついでに、Visual Studioも最新版の2012に切り替えることにした。
37
ちなみに、Visual Studio 2012の新機能はこちら。
http://msdn.microsoft.com/ja-jp/library/vstudio/bb386063.aspx
Visual Studio 2012と言っても、以下のエディションが存在する。

  • Visual Studio Ultimate 2012 with MSDN
  • Visual Studio Premium 2012 with MSDN
  • Visual Studio Test Professional 2012 with MSDN
  • Visual Studio Professional 2012 with MSDN
  • Visual Studio Professional 2012

各エディションの機能比較詳細はこちら。
http://www.microsoft.com/visualstudio/jpn/products/compare
ちょっとしたソフトを作るぐらいなら、一番安いPofessional 2012で十分。
でも、会社で購入するならまだしも、個人で買うにしては高すぎる。

Microsoft Visual Studio Professional 2012 通常版Microsoft Visual Studio Professional 2012 通常版 Microsoft Visual Studio Professional 2012 通常版
メーカー:マイクロソフト
価格:¥55,545
osadasoft


なので結局、無料版であるExpressを使用することにしてみた。
Visual Studio Express 2012
Windowsデスクトップの自作ソフトぐらいなら、これでほぼいける。
Professionalに比べ、Expressで出来なく困る事と言えば、アイコン編集ができない事と、セットアップを作れないこと。
アイコンはフリーソフトで代用するとして、セットアップは、これを機に廃止することにする。
セットアップが無いと、たま~に、スタートアップに登録する方法が分からない!といった質問も来るけど、Readme辺りに追記しておこうと思う。
Windows8ではスタートメニューも無いから、メニューへのショートカット登録はあまり意味が無いし、フリーソフトではexeのみの配布の方が好まれるだろう。
で、Express(無料版)にも以下の5種類ある。

  • Visual Studio Express 2012 for Web
  • Visual Studio Express 2012 for Windows 8
  • Visual Studio Express 2012 for Windows Desktop
  • Visual Studio Express 2012 for Windows Phone
  • Visual Studio Team Foundation Server Express 2012

# Visual Studio 2010のExpressは、VB.NET、C#、VC++など開発言語ごとに分かれていたけど、2012は開発するアプリによって分かれているようだ。
01
とりあえず、今までのWindowsデスクトップアプリを保守したいのでfor Windows Desktopをダウンロード。

(さらに…)

以前、Windows 8 Release Preview上で自作ソフトの疎通動作確認を行ったけど、Windows8マシンも買ったことだし本格的にWindows8対応を始めることにした。
まずは、動作確認から。

Windows8 Release Preview上では概ね動作していたけど、今回製品版で確認し直したところ、いろいろ手直しが必要ということが分かってきた。

主な問題点は、
・デスクトップガジェット廃止
・メニュー上で[←][→]キー操作が反転
・画面拡大による表示崩れ

表示崩れについては、直接Windows8に関係したものではないけど、最近のPCは解像度が細かすぎるため、拡大表示されているものがある。
更にWindows8ではタッチ操作も利用するシーンも多くなってきたため、ボタン等が小さすぎると周りの他のものまで触ってしまい誤操作しやすい。

先日購入したVAIO Duo 11なんかもディスプレイの拡大サイズの初期値が「125%」となっている。

今までもサイズ拡大は100%のみを考慮して作り込んでいたけど、そうも言っていられない状況になってきた。
01
ということで、個々のアプリの動作確認。

02節電メーター

03
前にもちょっと書いたけど、Windows7で動作していたデスクトップガジェット(Vistaで言うサイドバーガジェット)は、Windows8ではサポートされなくなった。
ガジェットを動かすsidebar.exe自体そのものが無いらしい。

(さらに…)

最近、ブログばかり書いているけど、Windows8もリリースされたことだし、そろそろ真面目にWindows用アプリの作り方を勉強しなければなぁ。
と思っていた矢先、ベクター経由で「GMO×マイクロソフト共催 Windowsストアアプリ開発セミナー」
の案内が届いた。

場所が渋谷(遠い)&平日なので、行こうかどうか迷ったけど、自力でWin8アプリ開発をゼロから勉強するよりも、セミナーで概要理解した方が手っ取り早いので、参加することにした。
#丁度、仕事も忙しくなかったし、スキルアップも必要でしょう。

で、このセミナーのちょっと変わったところは、先日紹介したお名前.comのクラウドサービス上で開発を行うといったもので、セミナーのときも、リモートデスクトップで開発環境(Windows Server 2012 + Visual Studio 2012 + Blend for Visual Studio 2012)が用意されている仮想環境に乗り込んで、サンプルプログラム作成&実行を行った。

30人ぐらいで一気に乗り込んだので、ちょっと動作が重かったかな。
(クラウドじゃなくて、多重時の無線LANが遅い?)

でも、クラウド上でアプリ開発するという、なかなか面白い試み。

参加者は、様々なノートPCを使って乗り込んでいた。Windows8や、7、XP。
中にはMacから乗り込んでいる人もいて、右クリックってどうやってやるの?と質問してた。

iPhoneアプリ開発者も参加していたようで、iPhone/Androidアプリ開発との違いなども説明していた。
Windowsストアアプリ作成方法
配布された資料。

(さらに…)

「お名前.com デスクトップクラウド 」でWindows8を使ってみた
お名前.com デスクトップクラウド

あのドメイン取得ができる「お名前.com」で、サービス提供されているデスクトップクラウドを試してみた。

クラウドというと、何かモヤモヤしたイメージで、結局、他のレンタルサーバーと同じじゃないの?とか思っていたけど、このデスクトップクラウドは、OS自体を貸出ししてくれるサービス。
http://www.onamae-desktop.com/

例えば、Windows8をそのままクラウドサービスとして公開されていて、それをリモートデスクトップ接続して利用するというもの。
例えば、自宅でMacOS環境を使っていても、クラウド上のWindows8を利用できる。

で、いろいろ用意されているんだけど、開発環境であるVisual Studio 2012がプイインストールされているものもあった。
http://www.onamae-desktop.com/dev/

更に、無料トライアル(14日間)ってのもあったので試しに申し込んでみた。
クラウド側でサービス設定が完了すると、ログイン方法などが記載されたメールが届く。
もう既に、こっちのPC環境もWindows8だが、Windows8のクラウドを利用してみる。

ちなみに、リモートデスクトップが接続可能であれば、Windows Vista/7は勿論、Macや、iPad、iPhone、Androidからも接続できるらしい。
早速、使ってみる。
と、Windows8から「リモートデスクトップ」の開き方が分からない。。。
Windows7ならスタートメニューのアクセサリ配下にあったような気がするが、Windows8にスタートメニューが無い。

(さらに…)

東京電力メーター」を、東京電力以外も表示できるよう作り込んでみた。

ここ最近、東電以外の各電力会社も頑張ってデーターを公開してくれるようになってきたので「東京電力メーター」も、頑張ってソレに対応するよう改良。
前回も表示できる電力会社を3社(関西電力、東北電力、九州電力)増やしたけど、今回も更に5社(北海道電力、北陸電力、中部電力、中国電力、四国電力)増やし、トータル9社の電力使用率を表示できるようになった。

あとは、データーを公開していない沖縄電力のみ。

ますます「東京電力メーター」という名前に違和感が出てきたので、これを機に名前を変えることにした。
でも、ネーミングセンスが無いので迷ってしまう。

「電力メーター」だと、家とかにくっ付いてる例のメーターと被るし、変に長い名前や英語にすると何をするアプリなのか訳わからなくなるし。
そんなこと考えるのが段々面倒になり「節電メーター」という名前にすることにした。

イマイチ、パッとしないしパソコンを節電するアプリと勘違いされてしまいそうだけど、コレでいくことにした。

[節電メーター]
image
で、各電力会社の電力使用状況のデーターを取り込む際、フォーマットやファイル名が異なったり、もう大変。

前にも書いたけど、何でCSVなんだ?なんでSJISなんだ?せめてXML+UTF8にして欲しかった。
多分、東京電力がCSVで作ったから右へならえといった感じなんだろうけど。
特に、ガジェットはAjaxベースで書くからSJISのファイルを読み込むと文字化けが発生する。

SJISでCSVファイルを公開していても東北電力みたいに、HTTPのレスポンスヘッダ(Content-Type)に、ちゃんと”charset=shift_jis”と書いてくれてあれば文字化けせずに済むのに、東北電力以外は全滅。
本当は、CSV内にある「節電コメント」をガジェット上に表示したかったんだけど、全角文字が化けてしまうので、「節電コメント」表示の実装は断念することにした。

↓作る途中で、ちょっとまとめた電力会社の公開状況を備忘録として書いておきます。(2012/7/11現在)

(さらに…)

今までWindows 7上で動作していた自作のデスクトップアプリケーションを、Windows 8 Release Preview上で問題なく動作するか疎通動作を確認してみた。
rss2

 

ガジェット

まずは、Windows 7/Vistaで登場していたガジェット。

東電電力使用状況

ガジェットは今までのWindowsほぼ同等。
最初にダブルクリックで実行すると、
de1
発行元を確認できませんでした。このガジェットをインストールしますか?
 名前:denryoku.gadget
 発行者:不明な発行者
 「インストールする」「インストールしない」
みたいなセキュリティの警告ダイアログが出る。
インストールを実行すると、今までのWindowsと同様、ガジェットとして使えるようになる。
de2
設定画面も普通に開ける。
de3

東京電力メーター

こちらのガジェットも同様。インストール時に警告。
td1
実行すると、今まで通りと同じように動く。
td2
設定も。
td3

 

デスクトップアプリケーション

次に、デスクトップアプリケーション。

デスクトップアプリケーションは、実行時に、以下のようなメッセージが表示される。
af1
WindowsによってPCが保護されました
Windows SmartScreenは認識されないアプリの起動を停止しました。
このアプリを実行すると、PCに問題が起こる可能性があります。
と、ちょっとビビるメッセージが表示される。
ここで「OK」を押すと何も起動せず終了するが、「詳細情報」を選択すると、
 発行元:不明な発行元
 アプリ:AffiliSearch.exe
 「実行」「実行しない」
みたいな表示が出てくる。
af2
ここで、「実行」を選択すると、今まで通りアプリケーションを実行できる。

(さらに…)

公開されたWindows 8のRelease Previewを早速インストールしてみた。
[Windows 8 Release Preview]
http://windows.microsoft.com/ja-JP/windows-8/release-preview
Windows 8 Release Preview

導入方法の検討

Windows 8をインストールするにはいくつか選択肢があるようで、まずはそこから検討してみた。
方法1:アップグレードインストール/クリーンインストール
Windows 8 Release Preview セットアップで既存のWindows(Windows7やVista/XP)に対してアップグレードまたはクリーンインストール。
セットアップを実行すると、既存Windowsのデータを残すかどうか聞いてくる。
詳細
方法2:デュアルブート環境にインストール
isoイメージのWindows8インストーラをダウンロードしDVDなどに焼いておき、空きドライブ上にインストール。
新たにハードを準備する必要が無いし、既存のWindowsに影響が少ない。
Windows 7/Vistaであれば、OS標準でパーティション作成できるので、HDD空きがあればドライブ追加も容易。
デュアルブートでインストールしてみたい方は以下のサイトが参考になるかも。
[[Win8RP] デュアル ブートする方法]
http://answers.microsoft.com/ja-jp/windows/forum/windows_8-windows_install/win8rp-%E3%83%87%E3%83%A5%E3%82%A2%E3%83%AB/c19d1d80-3c17-4e17-b791-2226d842d681
[Windows 8 Consumer Previewをデュアルブート(マルチブート)する方法]
http://kama3104.blog96.fc2.com/blog-entry-417.html
[Windows 8 Release Preview ISO イメージ]
http://windows.microsoft.com/ja-JP/windows-8/iso
詳細
方法3:Windows To Goを利用してUSBメモリにインストール
Windows 8では「Windows To Go」なんて機能が追加されている。
これは、USBメモリやUSBハードディスク、SDカードなど外部のメディアに対してWindows 8をインストールして持ち運び、出先のPCに差し込んで使えるという代物らしい。
Windows 8 Release Previewを既存環境にインストールする必要が無いためリスクが少ないし、HDDも圧迫しない。
isoイメージのWindows8インストーラをダウンロードしDVDなどに焼いておき、その中にあるファイルを使用しセットアップするらしい。
Windows To Goでインストールしてみたい方は以下のサイトが参考になるかも。
[Windows 8をUSBメモリで持ち運ぶ、Windows To Go]
http://www.atmarkit.co.jp/fwin2k/productreview/win806/win806_01.html
[Windows 8 Release Preview ISO イメージ]
http://windows.microsoft.com/ja-JP/windows-8/iso
方法4:仮想環境にインストール
VMwareなどの仮想環境に新規インストール。
ホストOSとは別物としてインストールするのでリスクは少ない。
ただし、PCのスペックがそこそこ必要で、動作も少々遅くなりそう。
isoイメージのWindows8インストーラをダウンロードしDVDなどに焼いておき、isoをマウントしてインストール。
[VMware Player]
http://www.vmware.com/jp/products/desktop_virtualization/player/overview

方法1でインストール

で、手持ちのノートPCに、どの方法で入れるべきか検討をして試行錯誤したんだけど、ノートPCがしょぼすぎて空き容量も少ないため、この際まっさらにして方法1「アップグレードインストール/クリーンインストール」をやってみた。
■前準備
・バックアップ作成
・空きディスク確保
・ダウンロード
以下のサイトからWindows 8の媒体イメージ(iso)をダウンロード。
日本語64ビット(x64)が3.3GB
日本語32ビット(x86)が2.5GB
[Windows 8 Release Preview]
http://windows.microsoft.com/ja-JP/windows-8/release-preview

(さらに…)

去年は原発事故を引き金に、計画停電や節電やらと大変な思いをした。
そんななか、少しでも節電意識を高めたいと、「東京電力メーター」を作って公開した。

で、今年の夏は原発再稼働の問題もあり、東電エリアだけの話ではなく、全国的に電力不足に陥りそうな感じ。これはマズい。
そんな訳で「東京電力メーター」もアプリ名に反し、関西電力、東北電力、九州電力の電力使用率も表示できるよう対応してみた。

1
前にも、東北電力、関西電力に対応したモノを作ったけど、その後、関西電力がcsv公開を一時止めたりしたので、今回は、関西電力を復活したり、九州電力を追加したりと、最新の公開データに合わせて修正した。

[4つの電力会社に対応]
2_kansai2_kyusyu2_toden2_tohoku
でも何で、東京電力、関西電力、東北電力、九州電力のみの対応かというと、その他の電力会社から現状、CSVデータが公開されていないから。
あと、電力会社毎に微妙にCSVデータ形式が違うので取り込むのが大変だったりする。
でも、各電力会社からデータが公開されたら、東京電力メーターとしても前向きに実装したいと考えているので、CSVが公開されることを期待しながら待つとしよう。

(さらに…)

以前作成したネットショッピングを横断検索するWebサイト「全力通販」をスマホ対応化した。
01
スマホ対応のために行ったことは主に以下の2つ。
1.画面サイズの最適化
2.拾えないマウス操作イベントをタッチ操作で扱えるに処理に変更

(さらに…)