Foursquare(Android)とTwitter の連携方法 [WEBサービス]
FoursquareとTwitterとの連携に戸惑ったので、その方法について説明する。
Foursquare Android版はGoogle Playの「ソーシャルネットワーク」カテゴリからインストールします。
インストール後、Foursquareアプリを起動するとFacebookのユーザーでログインするか新たにユーザー登録するか選択できます。今回はTwitterと連携したいので、新規にユーザー登録することにします。
画面の指示にしたがいユーザー登録をおこないFoursquareにログインします。
ログイン後Twitterとの連携を設定するため、「メニュー」から「設定」を選択し「他のネットワークと共有中」をタップします。
ここには”Facebook”との連携しかありません?そこでPCサイトから設定を試みます。
まず以下のFoursqureのサイトにアクセスし、Androidから登録したユーザーでログインします。
メールアドレスとパスワードを入力してログインします。
ログイン後、右上のユーザー名をクリックして現れるメニューから「設定」を選択します。
設定メニューから「他のネットワークと共有中」を選択するとFacebookとTwitter用の連携ボタンが現れるので「ADD TWITTER」ボタンを押します。
連携アプリの認証を許可します。
Twitterユーザーアカウントとパスワードを入力します。
設定完了です。
Android側にもTwitter連携が現れました。
参考サイト
Windows 7 のユーザーとして実行する方法 [Windows]
ログインするユーザーの権限により動作を変える必要のあるアプリケーションやインストーラ等の開発で、デバッグ用のPCが準備できれば良いのですが、それが困難な時に「別のユーザーとして実行」や「管理者として実行」が便利です。Windows 7になってい「別のユーザーとして実行」がメニューから無くなったので表示する方法を調べた。結果は簡単でしたがブログに残しておきます。
対象のアプリケーションをシフトを押しながら右クリックする。
メニューが現れるので「別ユーザーとして実行」を選択すると「別のユーザーとして実行」ダイアログが現れるので、ユーザー名、パスワード入力して「OK」ボタンを押す。
これでOK
基本のMSIデバッグ方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: 基本のMSIプロジェクト
1.リリースビルドを行う
「単一MSIパッケージ」を選択し、インストールのビルドを行う。
2.「MSIデバッガ」ビューを開く
ツールバーの「MSIデバッガ」ボタンを押すか、「ビルド」、「MSIデバッガ」、「MSIデバッガの開始」をクリックする。
「ボタン」の場合
「メニュー」の場合
「インストールデザイナ」に動作シーケンスおよびインストーラのダイアログが表示されます。
3.ブレークポイントの設定とステップ実行
インストーラーの実行をキャンセルし、ブレークさせたい行を選択し“F9”を押しブレークポイントを設定する。
次に前述の「MSIデバッグ」ボタンを押すと、ブレークポイントまでインストール処理が進み、その時点でのプロパティと値が表示される。
あとは「ステップオーバー」、「ステップイン」ボタンを使用して、基本のMSIでもデバッグが可能。
InstallShield Windowsファイアウォールの設定を変更する方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: 基本のMSIプロジェクト
インストール時にPCのWindowsファイアウォールの設定を変更したい場合がある。コマンドラインからnetshコマンドを発行することでセキュリティ規則の有効/無効を切り替えることができる。
ここでは「Windowsファイアウォール」の「受信の規則」内「Windows ファイアウォール リモート管理」グループの「有効」の「はい/いいえ」を一括で変更する方法を説明する。
1.コマンド文字列の動作確認
①ファイアウォールの設定確認
「コントロールパネル」、「管理ツール」「セキュリティが強化された Windows ファイアウォール」をクリックして管理ツールを起動する。
「受信の規則」を選択し、グループ列から「Windows ファイアウォール リモート管理」が現れるまでスクロールし有効列の値を確認する。
②コマンドプロンプトを管理者権限で起動する。
③以下のコマンドを発行する。
“netsh advfirewall firewall set rule group=”Windows ファイアウォールリモート管理” new enable=yes”し4個の規則が更新されることを確認する。
④ファイアウォールの設定確認
再び管理ツールに戻り、メニューから「操作」、「最新の情報に更新」と選択し「受信の規則」を確認し、「Windows ファイアウォールリモート管理」または「ファイルとプリンター共有」グループの有効が“はい”となっていることを確認する。
動作確認が終了したらコマンドのenable=yes 部の記述を enable=no としてコマンドを発行し設定を戻しておく。
2.InstallShieldへのカスタムアクション組み込み
① インストールデザイナから「動作とロジック」、「カスタム アクションとシーケンス」、「カスタムアクション」を右クリックします「新しいEXE」、「ディレクトリを参照するパス」と選択します。
② “NewCustumAction1”が出来上がるので適当な名前に変更します。
“NewCustomAction”->“caAddFireWall”
③ プロパティを以下の内容に設定します。
プロパティ名 | 設定内容 | 説明 |
作業ディレクトリ | SystemFolder | ターゲットシステム上のcmd.exe を使用するためSystemFolder 識別子を使用して、system32 フォルダを作業フォルダに指定 |
コマンドライン | cmd.exe /c"netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=yes" | |
スクリプト内実行 | システムコンテキストで遅延実行 | |
インストール実行シーケンス | 次の後:InstallFiles | |
インストール実行条件 | NOT Installed | 初回インストール時のみ実行される条件 |
④ さらに以下の条件でインストール時のロールバック用、アンインストール用、アンインストール時のロールバック用の3つのカスタムアクションも作成します。
◆インストール時のロールバック用 caAddFireWall_RollBack
プロパティ名 | 設定内容 | 説明 |
作業ディレクトリ | SystemFolder | ターゲットシステム上のcmd.exe を使用するためSystemFolder 識別子を使用して、system32 フォルダを作業フォルダに指定 |
コマンドライン | cmd.exe /c"netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=no" | |
スクリプト内実行 | システムコンテキストでロールバック実行 | |
インストール実行シーケンス | 次の後:InstallFiles | |
インストール実行条件 | NOT Installed | 初回インストール時のみ実行される条件 |
◆アンインストール用 caDeleteFireWall
プロパティ名 | 設定内容 | 説明 |
作業ディレクトリ | SystemFolder | ターゲットシステム上のcmd.exe を使用するためSystemFolder 識別子を使用して、system32 フォルダを作業フォルダに指定 |
コマンドライン | cmd.exe /c"netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=no" | |
スクリプト内実行 | システムコンテキストでロールバック実行 | |
インストール実行シーケンス | 次の後:RemoveDuplicateFiles | |
インストール実行条件 | REMOVE="ALL" | アンインストール時のみ実行される条件 |
◆アンインストール時のロールバック用 caDeleteFireWall_ RollBack
プロパティ名 | 設定内容 | 説明 |
作業ディレクトリ | SystemFolder | ターゲットシステム上のcmd.exe を使用するためSystemFolder 識別子を使用して、system32 フォルダを作業フォルダに指定 |
コマンドライン | cmd.exe /c"netsh advfirewall firewall set rule group="Windows ファイアウォール リモート管理" new enable=yes" | |
スクリプト内実行 | システムコンテキストで遅延実行 | |
インストール実行シーケンス | 次の後:RemoveDuplicateFiles | |
インストール実行条件 | REMOVE="ALL" | アンインストール時のみ実行される条件 |
InstallShield プロパティによるインストール条件を変える方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: 基本のMSIプロジェクト
インストールするPCの環境によりインストールする内容を変更する場合がある。そのさいコンポーネントのプロパティ“条件”を利用し、インストールするファイルまたはファイル群に条件を設定することで実現できる。
この説明では、ヘルプファイルにインストール条件を設定するとして説明する。
1.条件を設定するファイルの確認
インストールデザイナから「編成」->「コンポーネント」を選択、ビュー画面から「コンポーネント」->「AllOtherFiles」->「ファイル」を選択する。ここでヘルプファイルがコンポーネントに登録されていることを確認する。
2.条件の設定
再びビューの「コンポーネント」->「AllOtherFiles」と選択するとプロパティが現れる。
3.インストール条件を設定する。
プロパティ「条件」のプロパティボタンを押すと、条件ビルダが起動するので条件を設設定する。ここでは、先に設定した“P-Tool”の有無によるリモートPCプロパティ“REMOTE_PC”を使用する。
“P-Tool.txt”が存在する場合、“REMOTE_PC”プロパティにはファイルへのパスが入力されるため、それを評価する式を“REMOTE_PC <> “””を設定する。
4.動作確認
P-Tool.txtが存在する場合
TestHelp.txtがインストールされた。
P-Tool.txtが無い場合
TestHelp.txtがインストールされない。
InstallShield インストール先に任意のファイルが存在するか確認する方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: 基本のMSIプロジェクト
先にインストールされているアプリケーションによって、新たにインストールする内容を変更する必要がある時がある。特にレジストリに情報のないアプリケーションがインストールされている時に、ハードディスク上のEXEファイルを検索して、インストール先の環境を確認する場合に利用する。
これは”システム検索ウィザード”を使用して実現できる。
1.インストールデザイナから「動作とロジック」->「システム検索」を選択する。
2.システム検索ビューの上でマウスを右クリックすると現れるダイアログから“追加”を選択すると、システム検索ウィザードが起動する。「次へ」ボタンを押す。
3.検索対象する対象を指定する。
“ファイル パス(ファイルを検索)”を選択する。「次へ」ボタンを押す。
4.ファイルの詳細とその検索場所を指定する。
“ファイル名”を検索する実行ファイル名、“検索先”を“すべてのドライブを検索する”にチェックする、そして“検索するサブフォルダの最大数”はディフォルトの10ままとした。「次へ」ボタンを押す。
5.この値の処理方法を指定する。
“値を保持するプロパティ”を“REMOTE_PC”とし、この値によりインストール条件を変更するため、“プロパティに値を保存し、インストール条件でこのプロパティを使用”にチェックを入れる。「完了」ボタンを押す。
6.条件ビルダで条件を設定する。
メッセージを入力して「OK」ボタンを押す。
7.完了
インストール条件分岐用のプロパティ“REMOTE_PC”が登録される。
InstallShield インストール済みファイルの名称変更方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: InstallScriptプロジェクト
InstallShield2010のInstallScriptプロジェクトで、インストールするファイル名の中に日本語名のファイルがあるとコンパイルエラーとなる。この対応としてインストール時は英語のファイル名とし、インストール完了後、日本語にリネームする方法で対応する。
ただしアンインストール時にリネームしたファイルは残ってしまう。またInstallShield2012Springでは日本語ファイル名でもインストールが可能だった。
1.インストールデザイナから「動作とロジック」、「InstallScript」を選択する。
2.「ファイル」フォルダ内の「Setup.Rul」を選択するとスクリプトのソースコードが表示される。
3.「関数」フォルダ内の“RenameToJapaneseFileName”(これはユーザー作成の関数)を選択し、以下のコードを追加する。
// 英語名ファイル保存場所へのパス
folder_path = Folder_Path ^ "PrintTemplate\\sample\\Japanese\\";
src_file_name = "ShipingList.pdf"; // 英語名ファイル名
dst_file_name = "出荷リスト.pdf"; // リネーム後の日本語ファイル名
if(FindFile(folder_path, src_file_name, temp) == 0) then
// RenameFileは上書きしてくれないので、すでにリネーム後ファイル名のファイルがある場合は削除する
if(FindFile(folder_path, dst_file_name, temp) == 0) then
DeleteFile(folder_path + dst_file_name);
endif;
// リネーム実行
RenameFile(folder_path + src_file_name, folder_path + dst_file_name);
endif;
ちなみにこの関数は“OnFirstUIAfter”および“OnMaintUIAfter”イベントハンドラ関数内で呼び出す。
OnFirstUIAfter関数: これは、アプリケーションの初回インストール用の機能をインストールした後に処理しなくてはならないタスクを実行します。
OnMaintUIAfter関数: このイベント ハンドラでは、アプリケーションのメンテナンス インストールによって機能が再インストールされた後に発生するタスクが実行されます。
InstallShield インストール済みアプリのバージョンをレジストリから取得する方法 [InstallShield]
InstallShieldバージョン: 2010
プロジェクトタイプ: InstallScriptプロジェクト
管理者権限でインストールされたアプリケーションをユーザー権限でアップデートする場合、インストール済みのバージョンが取得できずエラーとなりインストールが続行出来ない、アプリケーション側に権限による問題が無い場合、これを無視してインストールする場合に行う方法。InstallScriptを利用して実現する。
1.インストールデザイナから「動作とロジック」、「InstallScript」を選択する。
2.「ファイル」フォルダ内の「Setup.Rul」を選択するとスクリプトのソースコードが表示される。
3.ソースコード上部にあるタブから「Initialization」と「OnSetupUpdateMode」を選択する。
4.OnSetupUpdateMode”関数内の先頭に以下のコードを追加する。
if ((IFX_INSTALLED_VERSION="") && MAINTENANCE) then
/* レジストリに登録されているバージョン情報を取得します。*/
RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
/* “RegDBGetKeyValueEx”関数の第三引(取得するValueのタイプ)は、number型の変数nSrに保存してから、与えないとエラーとなる。RODUCT_GUIはインストールするアプリに割り当てられた固有番号が保存されているInstallShieldのグローバル変数。 */
nSr = REGDB_STRING;
szMyGuidStr
= "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + PRODUCT_GUID;
RegDBGetKeyValueEx( szMyGuidStr, "DisplayVersion", nSr, szVersionString, nSize );
IFX_INSTALLED_VERSION = szVersionString;
endif;
これでインストールの初期化時にインストール済みのバージョンをレジストリから取得し、Installshieldグローバル変数IFX_INSTALLED_VERSION に値を設定すればインストールが続行できる。