VS2003とVS2005におけるActiveXの違いについて
お世話になります。
テンプレートのまま何も追加してない
空っぽのActiveXに署名してFreeBSDに置いて
Windowsから実行しようとしています。
ひと月ほど前にVS2003で上記のことを行い、
XPからIE6,IE7,IE8で動作を確認しました。
最近、VS2005で同様のことを行ったところ、
XP+IE6でインストールまで成功するものの、
実行されないという現象が起こりました。
※インストールの成功は
C:\Windows\Downloaded Program Filesに
入っていることで確認。
また、サーバのHTMLをローカルにコピーすると
正常にActiveXが実行可能。
そこで、もう一度VS2003に戻ってひと月前と
同じ手順でプロジェクトを作ったところ、
新しいプロジェクトで作ったActiveXも、
VS2005版と同じ現象が起こりました。
その際のエラーログは、次のようになりました。
------------------------ 以下ログ ------------------------
*** Code Download Log entry (26 Jun 2009 @ 13:58:12) ***
Code Download Error: (hr = 800c0400) Unknown Error!!
Operation failed. Detailed Information:
CodeBase: http://www.xxxxx.com/Plain2003.cab
CLSID: {DDC859E4-5589-47BF-B14D-71FCEA506810}
Extension:
Type:
LOG: Reporting Code Download Completion: (hr:800c0400 (FAILED), CLASSID: ddc859e4..., szCODE:(http://www.xxxxx.com/Plain2003.cab), MainType:(null), MainExt:(null))
--- Detailed Error Log Follows ---
LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0).
LOG: URL Download Complete: hrStatus:0, hrOSB:800c0400, hrResponseHdr:0, URL:(http://www.xxxxx.com/Plain2003.cab)
LOG: Reporting Code Download Completion: (hr:800c0400 (FAILED), CLASSID: ddc859e4..., szCODE:(http://www.xxxxx.com/Plain2003.cab), MainType:(null), MainExt:(null))
------------------------ ログ以上 ------------------------
残っていたひと月前のActiveXに署名を付けて
試したところ、正常に動作しましたので、
署名を付けるプロセスについては問題ないものと
思われます。
一方、プロジェクトを作るプロセスですが、
・新規 - ATLプロジェクト
・ソリューションエクスプローラを右クリック
追加 - クラスの追加 - ATLコントロール
をしているだけです。
本当に同じように作っているか、心配なので、
ディレクトリごとDiffを取ってみると...
ぜ~~んぜんちが~~~う。
とても同じ手順で作ったとは思えません。
後からVS2005を入れたせいで、
VS2003がおかしくなったのではないかと
思うくらいですが、
私が間違っているかもしれません。
目的はVS2005で動作するActiveXを作ることです。
この現象について何かお気づきの点があれば
ご教授願います。
お礼
回答ありがとうございます。 このサイトは昨夜参照しましたが解決に至りませんでした。 次のサイトが参考になりました。 https://blogs.msdn.microsoft.com/ttanaka/2013/03/18/windows-tips010-12501/ StorageFolder strPath = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFile file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("ファイル名"); string text = await FileIO.ReadTextAsync(file, Windows.Storage.Streams.UnicodeEncoding.Utf8); これで読み取ることができました。 読めれば書けますから解決です。 FileStreamは使えないことのようで理解しました。 誠にありがとうございました。