Hatena::ブログ(Diary)

きりの日記 このページをアンテナに追加 RSSフィード

2011-06-08 InstallShield 2011 Limited Editionで出る警告にハマった

InstallShield 2011 Limited Edition

.NET FrameworkベースのWindows フォーム アプリケーションインストーラーを作った時の話。


まずは環境から。


OS: Windows7 Pro (32bit)

IDE: Visual Studio 2010 Pro

フレームワーク: .NET Framework 4.0 Full

開発言語: Visual Basic

インストーラー: InstallShield 2011 Limited Edition

InstallShieldのLimited Editionは、VS2010のPro以上なら無料で使えるので助かります。今回初めて使ったのですが、パッと見分かりやすくてホホホィっとインストーラーが作れちゃいます。


http://www.atmarkit.co.jp/fdotnet/chushin/introwinform_12/introwinform_12_02.html


が、普通にアシスタントに沿って進めてコンパイルすると、こんな警告が出ます。

  • 6245: One or more of the project's components contain .NET properties that require the .NET Framework. It is recommended that the release include the .NET Framework.

.NET Frameworkに依存しているファイルをインストールするから、セットアップにも.NET Framework含めるのオススメ」って事なんだけど、警告だけなので無視しても問題はない。けど、今回はまさに、これをするためにインストーラーに手を出したわけでして。

で、この警告をダブルクリックして出てくる解決手順を試そうとしたけど、ドキュメントが古いのか手順中の該当項目が存在しない。Webでアレコレ検索してもヒットしない。もしかして、Limited Editionじゃ.NET Frameworkを含めることが出来ないのかしら、などと想像は膨らむ一方。


で、セットアッププロジェクトを隅から隅まで舐め回したところ、ようやく見つけました。ソリューションエクスプローラーで、


2 Specify Application Data

└Redistributables


です。

分かりにくい。アシスタント内に含めるかどうか質問してくれても良さそうだけど。


これで該当項目にチェックを付ければ解決、かと思いきや、また別の問題が。選択した再頒布パッケージがない場合は、自動でダウンロードしてくれる親切設計なのですが、そのダウンロードが出来ないと言われてしまう。「Administratorでやってるかい?」と書かれてたので、Adminでやってみたり、通信設定見直したりしたけどダメ。ググってみたところ、ダウンロード先のフォルダに書き込み権限が無いのが原因とのこと。良く見たらProgram Files下だし。なぜUAC出さないし・・・あまりお行儀は良くないけど、一般ユーザーに書き込み権限与えたところ、正常にダウンロードしてくれました。


C:\Program Files\InstallShield\2011LE\SetupPrerequisites


念のため、ISLEのオプションで指定されている2つのフォルダにも同じ対処をしておきました。私の環境では、これらのフォルダ。


C:\Program Files\InstallShield\2011LE\Objects

C:\Program Files\Common Files\Merge Modules


余談:オプションでPrerequisitesフォルダを変更できるけど、元のフォルダのファイルを全部移動する必要があるっぽい?(未確認)

めでたしめでたし。

山田山田 2011/10/03 14:53 はじめまして。

ネットで、vbnet、twitter、投稿で検索してたどり着きました。
以下のサンプルコードはまだ使えますでしょうか?
認証で失敗してしまうのですが・・・


2010-03-05 OAuth(xAuth)のVB.net実装サンプル

Kiri_FeatherKiri_Feather 2011/10/04 10:12 xAuthについて前提条件が抜けてました。
xAuthの場合は、Twitterから事前にアプリの承認を受ける必要があります。(承認してくれるよう、英文でメールをTwitterに送らなければなりません。)
また、この認証方式の場合、DirectMessageの送受信ができなくなるよう認証レベルが変更されました。今年の7月ぐらいだったかな?
そのため、DirectMessageを使うアプリケーションを作る予定であれば、PIN入力方式の認証を実装されることをお勧めします。

ちなみに、件のコードは、
HttpConnection.InitializeConnection()
の引数が一つ多いというバグがありましたが(恥)、それ以外はコンシューマーキー、コンシューマーシークレット、ユーザー名、パスワードを指定すれば動きました。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Kiri_Feather/20110608/1307497832