Developer Tools – Visual C /10~

Slides:



Advertisements
Similar presentations
Outlook メール文字化けの原因と対策 Exchange Server 環境編. 目次はじめに文字化けのよくある原因と回避策 1. A:半角英数字、ヨーロッパ言語などが混在した 文字化け B : 送信済みメールの宛先や CC の文字化け 2. 返信、転送時の、ユーザー名や件名の文字化け 3. 日本語が半角英数字に文字化け.
Advertisements

わんくま同盟 東京勉強会 #10 オブジェクト指向 #1 Windows メッセージを使いこな す -Windows 流オブジェクト指向 - とっちゃん 高萩 俊行 Microsoft MVP for Windows SDK 2005/ /09.
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
目次(電子納品 操作手順) ※ページはスライド番号
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
WinDBG6によるRTX5.5デバッグ RTX開発環境 WinDBG6.0 debugモードで起動 232Cクロスケーブル
IIS 4.0で開発をするコツ Webアプリケーション構築.
Windows HPC Server を使ってみる
Phoenixとは 2Dゲーム作成ツール. PROJECT. phoenixとは 2Dゲーム作成ツール.
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
PROCESS 14:一般情報(2) InstallShieldLecture
とっちゃん Microsoft MVP for Windows-SDK Oct 2005 – Sep 2007
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
SQC勉強会(0) (事前のご案内) -1-.
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
Docker.
オレポータビリティ 日本Rubyの会 青木 峰郎.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
2007 Microsoft Office system クイックガイド
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
「RnR FixLinks Pro」解説(一般公開用・無償版)
第2章 ソフトウェアの基礎知識.
MSBuild 色々出来るよ 2011/04/02 お だ.
MS製開発ツールの歴史とか….
複数CPU間のための共有メモリ 小島 隆史(中央大学大学院理工学研究科 國井研究室)
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
Cygwin の install.
サーバー立ち上げ記 2009/5/23
サスペンドした仮想マシンの オフラインアップデート
Titanium Studioを使った アプリ開発 Vol.1
初めてのTSF 囚人.
Windows 2000 拡張カーネルの技術紹介 2018年6月10日 黒翼猫.
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Office IME 2010 を使う.
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
Microsoft MVP for Development Tools – Visual C++
Windows PowerShell Cmdlet
「OSで儲けない」 Microsoftの新戦略
Microsoftのマルチプラットフォーム戦略
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
Microsoft MVP for Development Tools – Visual C++
仕事: SystemVerilogを使いたい
Microsoft BizTalk Server & SAP PP モジュール 連携検証レポート概要
Excelを便利にする250以上の機能を体系化したアドインはこちらです。
COM コンポーネント・オブジェクト・モデル.
初めてのTSF 囚人.
TA 高田正法 B10 CPUを作る   実験の前に TA 高田正法
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
<前提条件> iSeriesSite ワークフロー 実行環境 構成イメージ
Microsoft MVP for Development Tools – Visual C++
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
SQL Server 2008 および 更新プログラムの一括セットアップ
InTriggerクラスタ環境の構築 i-explosion 支援班 クラスタ環境の概要 研究に使える「共有資源」を提供
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
SYSVOL複製 を DFS レプリケーションに移行する
プロジェクト演習Ⅱ インタラクティブゲーム制作
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
7-Zipのインストール (Windows 10)
Presentation transcript:

Developer Tools – Visual C++ 2005/10~ インストーラを作る前に とっちゃん(高萩 俊行) Microsoft MVP Developer Tools – Visual C++ 2005/10~ http://blogs.wankuma.com/tocchann/

アジェンダ インストーラ開発における指針や注意点 MISAOがインストーラに与える特徴 午後のお知らせ

インストーラ開発における 指針や注意点

インストーラとは? アプリを起動できるようにするツールの総称 不要になったら簡単に削除できる手段を提供 容易な手段で更新できる手段を提供 指針と注意点 インストーラとは? アプリを起動できるようにするツールの総称 不要になったら簡単に削除できる手段を提供 容易な手段で更新できる手段を提供

Per Users か Per Machine か 指針や注意点 Per Users か Per Machine か 兼用インストーラにはしない Vista までと Win7 以降の両対応ができない 出来るかどうかとやるかどうかは別 製品の特長、用途、対象ユーザー層 一意に確定させる 明確にする アップデータの提供形態 .msp によるパッチ提供を行うか

インストーラ利用者の想定 利用環境の想定 誰がインストールするか? 製品利用者と一致するか? 会社のマシンか? 自宅のマシンか? 指針や注意点 インストーラ利用者の想定 誰がインストールするか? 製品利用者と一致するか? 利用環境の想定 会社のマシンか? 自宅のマシンか? 個人所有か? 共用利用か?

バージョン管理は厳密に行う ファイルバージョン管理に規約を設ける アセンブリバージョンとは分けて管理 指針と注意点 dllとexe のそれぞれに明確な規約を設ける 開発環境外に公開する時点でバージョンは固定 そこからの変更は次バージョンを原則とする アセンブリバージョンとは分けて管理 AssemblyVersion .NET アプリの厳密名用ローカルルール AssemblyFileVersion ファイルの新旧確認に使う基本情報 管理情報で最も厳格に扱われる

32bit と 64bit(アプリ) IA64対応の有無 .exe は Any CPU にしない 指針や注意点 32bit と 64bit(アプリ) IA64対応の有無 対応することは少ないがないとは言えない .exe は Any CPU にしない .dll は可能な限り Any CPU にする COM サーバーの場合は、Any CPU にしない COM(DLL)を参照するかを確認する 使う場合は、Any CPU にしない

AnyCPU な .exe で問題がない場合 インストーラは 32bit モードで作成 インストールチェックする場合はAPIを利用 指針と注意点 AnyCPU な .exe で問題がない場合 インストーラは 32bit モードで作成 インストールチェックする場合はAPIを利用 レジストリを参照しない HKLM\SOFTWARE\Wow6432Node

32bit と 64bit(インストーラ) パッケージ形式の確定 統合パッケージ 専用パッケージ .msi の定義情報はすべて32bit基準 指針と注意点 32bit と 64bit(インストーラ) パッケージ形式の確定 32/64 統合パッケージ 32/64 専用パッケージ 統合パッケージ 環境を見て適切なコンポーネントを導入 VersionNT64 プロパティなどで確認 専用パッケージ 環境ごとにそれぞれ別のものとして用意 .msi の定義情報はすべて32bit基準 64bitは専用の情報を参照

UNICODE文字 WiXのExtensionはUNICODE 非対応 Windows Installer 自身は対応 指針と注意点 UNICODE文字 WiXのExtensionはUNICODE 非対応 Windows Installer 自身は対応 Product@Codepage OS的に UNICODE Ready Package@SummaryCodepage OS的に ANSI Only .msi ファイルフォーマットの仕様

SystemFolder, WindowsFolder にインストールしない 指針と注意点 SystemFolder, WindowsFolder にインストールしない MS製モジュール以外はインストールしない FontsFolder を除く 常に Isolated Install を検討 すべてのモジュールをローカルインストール COM も Isolated Install モードを検討 関連付けなどのシステム設定は除く

Feature(機能) 論理的集合としてのグルーピングの仕組み カスタムインストールの単位 指針と注意点 Feature(機能) 論理的集合としてのグルーピングの仕組み 階層はそのまま機能(Function)の細分化 依存性がある場合はサブ機能 依存性がない場合は同列機能 カスタムインストールの単位 Featureの増減はProductCodeを変更 .msp での提供はできない

Component(コンポーネント) コンポーネントのルールに従う 指針と注意点 同一パスは同一コンポーネント ComponentId を一致させる 製品間でも一致させる ComponentIdが違う場合はKeyPathを変える 同一コンポーネントはバージョン互換にする CompnentId が同じ複数の製品の場合 同じ情報を保持する(増減がない) MSI 4.5 の共有コンポーネントは利用しない ショートカットごとにコンポーネントは1つ 同名ショートカットで複数存在させない

Componentのベストプラクティス 実行可能ファイル(exe/dll)は1つだけ キーパスを必ず設定 ヘルプファイルも単一コンポーネント 指針と注意点 Componentのベストプラクティス 実行可能ファイル(exe/dll)は1つだけ キーパスを必ず設定 原則としてバージョンを持つファイルを対象 ヘルプファイルも単一コンポーネント インデックスファイルは同じコンポーネント レジストリだけの場合は検討しなおす キーパスはキー名および値名を固定させる

Component のベストプラクティス CommonFilesFolder システムフォルダ 指針と注意点 共有ファイルとする App Paths を使えるNativeモジュール システムフォルダ 永続とはしない(ICE違反だがやらないこと)

極力自前コードを実行しない 自己登録は事前抽出 標準の仕組み以外のみ 作成ツールの拡張機能を積極利用 指針と注意点 可変情報はプロパティを使う 標準の仕組み以外のみ シリアル番号チェック 特殊なアプリ呼び出し 作成ツールの拡張機能を積極利用 WiXExtension IIS/SQL Server/VSなどなど ISにも同様の機能がある

WiX の2パスコンパイルを積極利用 場合分けをうまく活用する .wixproj をカスタマイズする 製品固有情報、共有可能情報の分離 指針と注意点 WiX の2パスコンパイルを積極利用 場合分けをうまく活用する .wixproj をカスタマイズする 条件ビルドやブートストラッパー対応など 製品固有情報、共有可能情報の分離 Component ごとに1ファイルくらいの気持ち Feature は製品固有

プレースフォルダの積極利用 Component 情報から固有値を除外 指針と注意点 <Directory Id="TARGETDIR"> <Directory Id="ProgramFilesFolder" Source="Programs"> <Directory Id=“App" Name=“App"> <Directory Id="INSTALLFOLDER"/> </Directory> </Directory> </Directory> とすることで、製品固有値を消す

WiXのソースはDLしておく Extensionを利用する場合はほぼ必須 指針と注意点 カスタマイズ 参考資料 Src\ext フォルダは必ず展開しておく

MISAOがインストーラに           与える特徴

Addin 機構を使った拡張機能 設定ファイルをEXEと同じ場所に書く VB10(.NET 4)で作成 Windows 7 のみ対応 インストーラに与える特徴 Addin 機構を使った拡張機能 カスタムインストール アドインインストーラ 設定ファイルをEXEと同じ場所に書く フォルダごとコピーで複数設定を用意可能 Per Users インストーラしか作れない VB10(.NET 4)で作成 Client Profile では動かない(Twitter) Windows 7 のみ対応

午後のおしらせ

午後のお知らせ MISAO 以外のインストーラ作成もあり 自分で作ることを重視 差分利用可能な作り方 変更に対する柔軟性を維持した作り方