ホーム > タグ > VisualStudio
VisualStudio
[VS]ソフトウェア発行元証明書の作成と署名
- 2010年11月27日 12:00 AM
- 資料
作成物に証明書を署名するための作成方法と署名方法をメモ。
自己署名証明書とか、オレオレ証明書とかいわれるものでVSTOのインストールにClickOnceを使用する場合、必要なもの。
使用するツールはWindowsSDKに含まれている。
- 作成方法
rem 1.==== rem CA:Certificate Authority:認証局証明書 rem 会社名 : MoonWing rem 組織名 : MoonWing Authority Root CA rem 県 名 : Tokyo rem 国 名 : JP rem 有効期限: 2012.12.31 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -r -n "C=JP, S=Tokyo, OU=MoonWing Authority Root CA, O=MoonWing" -e 12/31/2012 -a sha1 -cy authority -sv moonwingCA.pvk moonwingCA.cer rem 秘密キーのパスワードの作成:Subject Key:rootCA rem 秘密キーのパスワードの入力:Subject Key:rootCA rem 2.==== rem EE:End Entity:署名用証明書 rem コモン名: MoonWing rem 会社名 : MoonWing rem 組織名 : MoonWing Development rem 県 名 : Tokyo rem 国 名 : JP rem 有効期限: 2012.12.31 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -n "CN=MoonWing, C=JP, S=Tokyo, O=MoonWing, OU=MoonWing Development" -e 12/31/2012 -sv moonwing.pvk -ic moonwingCA.cer -iv moonwingCA.pvk -nscp -cy end moonwing.cer rem 秘密キーのパスワードの作成:Subject Key:endEntity rem 秘密キーのパスワードの入力:Subject Key:endEntity rem 秘密キーのパスワードの入力:Issuer Signature:rootCA rem 3.==== rem SPC:Software Publisher's Certificate:ソフトウェア発行元証明書 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\Cert2SPC" moonwing.cer moonwingCA.cer moonwing.spc rem 4.==== rem PFX:Personal Information Exchange:PKCS#12 rem -pi(pvkpassword):endEntity rem -po(pfxpassword):SPC "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\pvk2pfx" -pvk moonwing.pvk -pi endEntity -spc moonwing.spc -pfx moonwing.pfx -po SPC - 署名方法
rem 5.==== rem target.exeへ署名 rem -t(time stamp server):http://timestamp.verisign.com/scripts/timstamp.dll rem -p(pfxpassword):SPC "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\signtool" sign /f moonwing.pfx /a /t http://timestamp.verisign.com/scripts/timstamp.dll /p SPC target.exe
ツイート
[VS]Office AddinのインストーラがVSTOのインストールに失敗する
- 2010年11月20日 12:00 AM
- 記録
VisuatlStudio2010 + .NetFramework3.5でOffice2007のアドインを作成し、Setupを下記のサイトを参考に作成したときのメモ。
かなり役に立つので必読です。
- Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する (Part 1 of 2)
- Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する: ウォークスルー (Part 2 of 2)
- Office 2003 アプリケーションの Windows Installer (msi) による配布方法
- Office 2007 アプリケーションの Windows Installer による配布方法 (VSTO v3 編)
上記の記事を参考にすることで、AddinとSetupがパッケージぽい形になるかと思います。
自分が作成した際には熟読してないがために下記の2点が抜けていました。
- レジストリへ登録の作成
- Inclusion Listへの登録処理作成
ちなみに起動条件の作成時にVSTOの日本語ランゲージパックを追加しようとしたのですがうまくいきませんでした。
Oracで取得したComponentIDが正しいかどうかすら確認できず、とりあえず、必須制限からはずしました。
VM上でインストーラのテストを行ったところインストールは完了するもののうまくアドインが動作しません。
ログを出すためにユーザー環境変数に以下の2つを追加しました。
- VSTO_SUPPRESSDISPLAYALERTS:0
- VSTO_LOGALERTS:1
ログを追いかけてみてわかったことは2つありました。
- Setup.msiでは必須コンポーネントがインストールされない
- VSTO4.0ランゲージパックのダウンロードに失敗する
1つ目は、最初に示した参考サイト内にちゃんと書かれていました。
Setup.exe をダブルクリックしてソリューションをインストールする代わりに、.msi ファイルをダブルクリックしてソリューションをインストールする方法も選択できます。このモードでは、ユーザーはブートストラップを実行しません。そのため、セットアップは依存関係を検出できず、必要に応じた必須コンポーネントのインストールも行いません。
つまり、Setup.exeでインストールしないといけないということで、Setup.exeは必須コンポーネントインストール後にSetup.msiを実行すると。
といわけで、VisualStudioのSetupプロジェクトの「必須コンポーネント」プロパティはSetup.exeに作用するだけで、別途Setup.msiが必須コンポーネントの存在しない場合に起動しないようにするための起動条件は手動で作成しなければならないとのことです。しっかり読んでいたならこんなところでは引っかからなかったのでしょうが。
2つ目はインストーラのログを読んでVSTO4.0日本語ランゲージパックのダウンロードに失敗していました。
具体的には下記の2つのURLです。
- http://go.microsoft.com/fwlink/?LinkId=158919&clcid=0×411
- http://go.microsoft.com/fwlink/?LinkId=158920&clcid=0×411
上記のURLは確かにリダイレクト先が存在しないようで、このURLはどこで設定されているかを調べてみました。
その結果、レジストリの
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5
に記載されているPath内(多分WindowsSDK内)にあるBootstrapperと呼ばれるものの中で定義されているようです。
実際に自分の環境のBootstrapper/VSTO4.0日本語ランゲージは
- C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\VSTOR40\ja\package.xml
にURLが記載されていていました。
ここは、本来手を入れるべきではない場所でしたが実験でURLを下記のように書き換えてみたところ、無事インストールを成功させることができました。
--- before/package.xml
+++ after/package.xml
@@ -61,7 +61,7 @@
Microsoft Visual Studio 2010 Tools for Office Runtime (x86 および x64) Language Pack - 日本語のインストール中にエラーが発生しました。
http://go.microsoft.com/fwlink/?LinkId=158917
http://go.microsoft.com/fwlink/?LinkId=158918
- http://go.microsoft.com/fwlink/?LinkId=158919&clcid=0x411
- http://go.microsoft.com/fwlink/?LinkId=158920&clcid=0x411
+ http://download.microsoft.com/download/8/D/1/8D139084-948F-45F7-A014-71A90E2572EC/vstor40_LP_x86_jpn.exe
+ http://download.microsoft.com/download/8/D/1/8D139084-948F-45F7-A014-71A90E2572EC/vstor40_LP_x64_jpn.exe
とりあえず、Microsoftからの修正がでるまではこの対応ではこの対応で乗り切れると思います。
たしか、VSTO3.0でも同様にv6.0A内のBootstrapperの日本語ランゲージへのURLも同じように存在しない場所を指してたような。
(参考:まなBlog)
それと、小さな注意点がありました。
Windows7で開発していたため、package.xmlを書き換えるには管理者権限が必要でした。
ふだん使っているエディタを管理者権限で起動しなおすのは手間だと思い、メモ帳を管理者権限で立ち上げ、URLを修正したのが問題となりました。
というのも、このpackage.xmlはUTF-8のBOMなし(UTF-8N)で作成されているのですが、Windows付属のメモ帳ではBOMありでUTF-8を保存してしまうようで、
Setupをリビルドした際に下記の警告が表示され、実際インストーラはランゲージパックをインストールしない挙動に変わってしまいました。
警告: カルチャ 'ja-JP' を項目 'Microsoft Visual Studio 2010 Tools for Office Runtime (x86 and x64)' に対して一致できませんでした。カルチャ 'en' を使用します。
package.xmlをUTF-8Nで保存し、BOMがないことと文字化けしていないことを確認して再ビルドしたところ警告もなくなり、ランゲージパックのインストールも主なわれるようになりました。
また、今回は必要とならなかったけれど関連のある参考サイトもメモ
ツイート
[VS]PIA対応バージョンまとめ
- 2010年11月19日 12:00 AM
- 資料
PIAのバージョンとOfficeのバージョンと.NetFrameworkのバージョンの表をVSTO表のついでに作成。
PIAとはPrimaryInteropAssemblyことで・・・詳細はMicrosoftにお尋ねください。
| PIA | 対応Office | 対応.NetFramework | 対応Windows |
|---|---|---|---|
| XP | XP | 1.1 | XP |
| 2003 | 2003 | 1.1 | 2000 SP3,XP,Server 2003 |
| 2007 | 2007 | 1.1 | 2000 SP4,XP SP2,Server 2003 |
| 2010 | 2010 | 2.0 or higher | 2000 SP4,XP SP2,Server 2003,Vista,7,Server 2008 |
ツイート
[VS]VSTO対応バージョンまとめ
- 2010年11月18日 12:00 AM
- 資料
VSTOのバージョンとOfficeのバージョンと.NetFrameworkのバージョンの表がほしくなったので作成。
VSTOとは
- Microsoft Visual Studio 2005 Tools for Office Second Edition Runtime
- Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System
- Microsoft Visual Studio Tools for the Microsoft Office system (Version 3.0 Runtime)
- Microsoft Visual Studio 2010 Tools for the Microsoft Office System (Version 4.0 Runtime)
と微妙に名前が変わっているOffice拡張用コンポーネントのことです。
基本的には上記の2個目を省いた以下の3つあれば問題ないはず。
(というか、3個目も省いていいかも、結局2個で2003,2007,2010に対応できることになるわけだし。)
| Vsto | 対応Office | 対応.NetFramework | 対応VisualStduio | 対応Windows |
|---|---|---|---|---|
| 2005 SE | 2003,2007 | 2.0 | 2005 | 2000,XP,Server 2003,Vista,7,Server 2008 |
| 3.0 | 2007 | 3.5 SP1 | 2008 | 2000,XP,Server 2003,Vista,7,Server 2008 |
| 4.0 | 2007,2010 | 3.5 SP1 | 2010 | XP,Server 2003,Vista,7,Server 2008 |
ツイート
ホーム > タグ > VisualStudio
- 検索
- フィード
- 翻訳

