Microsoft Word - Writing Windows Installer's DLL.doc

Similar documents
MSI Tip: システム検索による INSTALLDIRの設定

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

Microsoft Word - Build3264Project.doc

A. InstallScript プロジェクト InstallScript インストールは InstallScript エンジンによって制御され 決められた順序で一連のイベントが生成されます これらのイベントは インストールを実行するソフトウェアハンドラーをトリガーします たとえば インストールがロ

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63>

(Microsoft Word - FireWall\202\314\227\341\212O\220\335\222\350\202\360\215s\202\244.doc)

InstallShield 実践トレーニング ~ InstallShield 2016 ~ Samp

(Microsoft Word - Windows Installer \203\215\203O\202\314\214\251\225\373.doc)

第 1 章 : はじめに RogueWave Visualization for C++ の Views5.7 に付属している Views Studio を使い 簡単な GUI アプリケーションの開発手順を紹介します この文書では Windows 8 x64 上で Visual Studio2010

InstallShield FAQ < 独自の InstallShield 前提条件を作成する > 注 ) このドキュメントは InstallShield 2014 Premier Edition を基に作成しています InstallShield 2014 以外のバージョンでは設定名などが異なる場合

インストール後のアプリケーション実行

Microsoft Word combine.doc

WebReportCafe

インテル(R) Visual Fortran コンパイラ 10.0

InstallShield Tip: ダイアログボックスビットマップの変更

WinXp-Rmenu

シヤチハタ デジタルネーム 操作マニュアル

作業環境カスタマイズ 機能ガイド(応用編)

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

BricRobo V1.5 インストールマニュアル

NetworkVantage 9

目次 第 1 章はじめに 取扱いについて 記載内容について... 6 第 2 章基本操作 Excel Online を開く ファイル ( ブック ) を作成する ファイル ( ブック ) を開く..

Maple 12 Windows版シングルユーザ/ネットワークライセンス

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

また 含 める.msi パッケージを 追 加 します スイートインストーラーの 基 本 的 な 作 成 方 法 Tips and Tricks( 以 下 の 記 事 をご 参 照 ください スイートインストーラーの 基

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

Microsoft Word JA_revH.doc

Windows 版 GAMESS インストールマニュアル 2019/6/5 [64bit Windows の場合 ] [32bit Windows の場合 ] [64bit Windows の場合 ] 1. GAMESS のサイト内の [GAMESS User License Agreement]

外周部だけ矩形配列

Windows インタフェースモジュール (ver1.451) の更新方法 2017 年 12 月 21 日 株式会社ハイバーテック 本メール添付インストーラを使用して,Windows インタフェースモジュールを更新 ( インストール ) する方法を記載します. 本メール添付ファイル (ver145

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

2018 年 11 月 10 日開催 第 27 回日本コンピュータ外科学会大会 ハンズオンセミナー 2 外科領域における医用画像の深層学習 事前インストール手順 2018 年 10 月 11 日版 作成 : 名古屋大学小田昌宏 1

VECLOS Audio Driver インストールマニュアル Windows 用 2 次へ ボタンをクリックする 対応 OS Windows 7 (32bit 版 64bit 版 ) Windows 8( 32bit 版 64bit 版 ) Windows 8.1( 32bit 版 64bit 版

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

DPC-0401

クライアント証明書インストールマニュアル

64bit環境で32bitコンポーネントの利用

Microsoft Word - Mac版 Eclipseの導入と設定.docx

Userコントロール

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

捺印ツールを使う 捺印ツールをインストールする 1. [ パソコン決裁 6 試用版捺印ツール ] の [ ダウンロード ] ボタンをクリックします 2. [ 実行 ] ボタンをクリックし [SetupDstmp32.exe] ファイルを実行します ご利用のブラウザまたはバージョンにより画面が異なりま

変更履歴 日付 バージョン 内容 2017/3/ ver.2.x.x.x を WHQL 対応版とする初版リリース ( ベースバージョン統合の為 2004 からとする ) 2017/3/ x64 とx86 の区別など誤記修正 目次修正 i

Technical Paper Template

Master'sONEセキュアモバイル定額通信サービス(MF120)設定手順書(Ver1_2).doc

VBコンバータ利用方法

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

ConsoleDA Agent For Serverインストールガイド

自宅でJava言語の開発環境を作る方法

Enterprise Architect 12.1 機能ガイド

スライド 1

NEC COBOL Media V2.0 セットアップカード SL438740B01-1

MAC の Horizon Auton インストール方法 Page 1 of 25

- 目次 - 1. 概要 インストール手順 イメージ作成モジュールのインストール DSN( データソース ) の設定 FTP の設定 操作説明 設定モジュール 監視モジュール... 11

Windows10 における Ac6 System Workbench for STM32 のダウンロードとインストール V /06/01 Windows10 の PC で Ac6 System Workbench for STM32 のダウンロードとインストールの方法について説明しま

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

目次 はじめに システム環境 インストール手順 インストール前の注意点 インストールの準備 ライセンスの登録 インストール先の選択 インストールの開始 インストール

MxLogonサーバサイドツールキット用UI

Microsoft PowerPoint - 1_コンパイラ入門セミナー.ppt

セットアップカード

Microsoft Word - Gateway900Inst.doc

PowerPoint Presentation

NEC Express5800 シリーズ COBOL Media V1 セットアップカード SL438730B01-2

サクラスケジューラのインストール説明書

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

WES7シンクライアントIE11アップデート手順書

Capture の設定 以下のフォルダを開いてください. C: Program Files OrcadLite Capture 開いたフォルダにある Caputure というファイルをクリックして選択します. Capture を選択した状態で右クリックします.

実習を行う上での心構えについて

Master'sONEセキュアモバイル定額通信サービス(MF120)設定手順書(Ver1_2).doc

CubePDF ユーザーズマニュアル

< F F D815B B408EED95CA C815B83678FEE95F13F7C3F C815B A896E282A28D8782ED82B93F7C3F57494C4C4

農業・農村基盤図の大字小字コードXML作成 説明書

IOWebDOC

デザインビューを使ってDWG図面を作成する方法

(Microsoft Word - Word\216\300\217K\212\356\221b1.doc)

ログイン時の ID パスワードは マイページ と同一です インストール前の状態の場合 ログイン後に表示されるページの ライセンス一覧 に該当製品シリアルの表示はされません インストール完了後 ライセンス管理ページご利用シリアルの一覧が表示されます 以上でライセンス管理ページの作成は完了です なお セ

ESOTERIC ASIO USB DRIVER インストールマニュアル Windows 用 システム推奨条件 2 インストールで使用する言語を選択して 次へ ボタンをクリックする Intel Core 2 Duo 以上のプロセッサー搭載コンピュータ 搭載メモリ 1GB 以上 対応 OS Windo

N Setup card

Microsoft PowerPoint - kougi2.ppt

プリンタドライバのバージョンと パッケージのバージョン バージョン には プリンタドライバ単体のバージョンとプリンタドライバ群を表すパッケージバージョンの 2 通りあります プリンタドライバのバージョンは プリンタドライバプロパティを開いて確認することができます 1. プリンタフォルダを開きます 2

WinAPIOverride32 入門

パソコン決裁7 Business 試用版

ごあいさつ このたびは COBOL 製品をお買い上げ頂き まことにありがとうございます 本書は 次の COBOL 製品のインストール方法について記述します COBOL Standard Edition Developer COBOL Standard Edition Server Runtime C

OTRS10 他社システムOTRS呼出利用手順書

編集する ファイルを開く マイクロデータの設定を行うファイルまたはファイルを開きます 開かれたファイルは編集画面に表示されて ブラウザ表示した時のプレビューも同時に表示されます HTML ファイルの選択 編集する ファイルを開くためにメインメニューから ファイル 開く を選びます ファイル選択ダイア

Windows XPファイル送信方法 SMB編

WES7/WE8SシンクライアントVMwareHorizonClientアップデート手順書

PowerPoint プレゼンテーション

AN1609 GNUコンパイラ導入ガイド

Deep Freeze Enterprise メンテナンス時の自動ログオン ( 株 ) ネットワールド SI 技術本部作成

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

ESMPRO/JMSS Ver6.0

Microsoft Word - 参考資料:SCC_IPsec_win7__リモート設定手順書_

SCPIサンプルプログラム クィックレファレンスガイド

PowerPoint プレゼンテーション

GettingStartedTK2

Express5800/51Le電源交換

REX-C56EX FAX送信 第5.0版

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

Field Logic, Inc. 標準モード 3D モデル作成 配置編 Field Logic, Inc. 第 1 版

Shareresearchオンラインマニュアル

Transcription:

Windows Installer 形式 DLL ファイルの作成 この文書は Acresso Software の次の文書を元に記載しています http://www.acresso.com/webdocuments/pdf/dlls-for for-ipwi.pdf 検証したバージョン : InstallShield 2009 Premier Edition 概要 InstallShield 2009 のカスタムアクションウィザードでは Windows Installer のダイナミックリンクライブラリの関数を呼び出す 機能がサポートされています この記事ではこのタイプのカスタムアクションを作成する際に 関連する手順と注意点について説明します カスタムアクションより呼び出しを行なう DLL ファイルの作成 Windows Installer 形式の DLL は以下の宣言により 関数のエクスポートを行ないます : UINT stdcall ActionName(MSIHANDLE); 以下に Microsoft Visual C++ のサンプルコードを記載いたします 以下の二つのファイル CustomAction.cpp CustomAction.def を Microsoft Visual Studio 等を使用して作成し ビルドを行い Windows Installer 形式の DLL ファイル CustomAction.dll を作成してください ファイル : CustomAction.cpp // link to MSI library #pragma comment(lib, "msi.lib") // include standard Windows and MSI headers #include < windows.h > #include < msi.h > #include < msiquery.h > // code for first action; note that the function name FirstAction // is the name we enter in the Custom Action Wizard UINT stdcall FirstAction(MSIHANDLE hinstall) { MessageBox( GetForegroundWindow( ), TEXT("This is FirstAction."), TEXT("Custom Action"), MB_OK MB_ICONINFORMATION); } return ERROR_SUCCESS; 1/5

ファイル : CustomAction.def LIBRARY CustomAction EXPORTS FirstAction カスタムアクションの作成 次に InstallShield 上でカスタムアクションの設定を行ないます IntallShield にてプロジェクトを開いて [ インストールデザイナ ] タブ-[ 動作とロジック ]-[ カスタムアクションとシーケンス ] ビューを選び カスタムアクションのアイコンを右クリックして [ カスタムアクションウィザード ] を選択します カスタムアクションウィザードが起動しますので 以下の通りに入力を行ないます 1. 基本情報パネルにて [ 名前 ] にカスタムアクションの名称として FirstAction と入力します 2. アクションの種類パネルでは [ 種類 ] に Windows Installer のダイナミックリンクライブラリの関数を呼び出す を選び [ 場所 ] は Binary テーブルに保存する を選択します 3. アクションのパラメータパネルでは [ ソース ] に作成した DLL ファイルの階層を指定して [ ターゲット ] には 作成した関数名 FirstAction を指定します 4. 追加パネルは 既定の設定を使用します 最後にインストーラの User Interface シーケンスにカスタムアクションを挿入します [ インストールデザイナ ]-[ 動作とロジック ]-[ カスタムアクションとシーケンス ] ビューを選択して [ シーケンス ]-[ インストール ]-[ ユーザーインターフェイス ] を展開します [ AppSearch ] を右クリックして [ 挿入 ] を選び [FirstAction] カスタムアクションを選択します プロジェクトをビルドして実行させると DLL からのメッセージが表示されます 2/5

インストーラと DLL カスタムアクション間の情報の受け渡し Windows Installer DLL 形式の関数は MSIHANDLE 型の一つの引数しか許可しません ( これには 実行中のインストーラのハンドルが含まれます ) DLL に追加の情報を引き渡すための 追加の引数は使用できません ( しかしながら 標準ダイナミックリンクライブラリの関数を呼び出す タイプのカスタムアクションで は別の形式の関数を呼び出すことを許可するため 任意の引数を指定することが可能です ) 実行中のインストーラと DLL 関数の間で 情報の受け渡しを行なう場合は Windows Installer API の MsiGetProperty または MsiSetProperty を使用して Windows Installer のプロパティを取得 設定 を行なうことで対応します 二つ目に作成するカスタムアクションは デフォルトで定義されてるプロパティ [ USERNAME ] の デフォルト値の読み込み 表示 変更を行なうサンプルとなります 以下に二つ目のカスタムアクションのサンプルのコードを記載いたします 先ほど作成した DLL ファイ ルのプロジェクトに以下のコードを追加してください 3/5

ファイル : CustomAction.cpp UINT stdcall SecondAction(MSIHANDLE hinstall) { // max. USERNAME size, from CustomerInformation panel const DWORD MAX_USERNAME_LEN = 50; // initialize empty string and size buffer TCHAR UserName[MAX_USERNAME_LEN + 1] = {0}; DWORD Buffer = MAX_USERNAME_LEN + 1; // read and display the initial value of USERNAME MsiGetProperty(hInstall, TEXT("USERNAME"), UserName, &Buffer); MessageBox( GetForegroundWindow( ), UserName, TEXT("USERNAME"), MB_OK MB_ICONINFORMATION); } // change the value of USERNAME MsiSetProperty(hInstall, TEXT("USERNAME"), TEXT("Valued Customer")); return ERROR_SUCCESS; ファイル : CustomAction.def LIBRARY CustomAction EXPORTS FirstAction SecondAction 前回と同様に DLL をビルドします SecondAction という名称のカスタムアクションをカスタムアク ションウィザードを使用し 作成して FirstAction カスタムアクションの直後に挿入します インストーラを再度ビルドして実行すると 二つ目のメッセージボックスにデフォルトの USARNAME プロパティが表示されて [ ユーザ情報 ] ダイアログでは ユーザ名に表示されるプロパティの値が変 更されています 4/5

プロパティを使う上の問題 Windows Installer のプロパティを使用する場合は 以下の内容に注意してください MsiSetPropery は 実行時にプロパティを新規で作成することも可能です ユーザーインターフェイスシーケンスでプロパティをセットして 実行シーケンスでそれを読み込む場合は 必ずパブリックプロパティを使用してください パブリックプロパティとは 名称に大文字だけが使用されているプロパティです ( パブリックプロパティの例 :USERNAME ) プライベートプロパティとは 名称に小文字が使われており インストールの処理がユーザーインタ ーフェイスから 実行シーケンスに変わった時にデフォルト値がリセットされます ( プライベートプロパティの例 : Installed ) プロパティの取得 変更を行なっているカスタムアクションは " 即時実行 " のカスタムアクションと してスケジュールしてください 遅延実行の際にプロパティの値を取得する方法については 以下 の記事をご参照ください Deferred Execution Custom Action Cannot Retrieve a Property Value http://support.installshield.com/kb/view.asp?articleid=q104413 5/5