プロが教える店舗&オフィスのセキュリティ対策術

質問者は追記ができないようなので、新しく質問させていただきます。

あるHPを参考に、makecab.exeにパラメータを渡して
動かす方法を行ったのですが、
エラーが出てしまい行き詰っています。
どこがおかしいのでしょうか?

●エラー内容(下記コードのretの値)
------------------------------------------------------------
Microsoft (R) Cabinet Maker - Version 5.1.2600.5512
Copyright (c) Microsoft Corporation. All rights reserved..

0.00% - list.txt (1 of 1)
100.00% - list.txt (1 of 1)
0.00% [flushing current folder]
80.56% [flushing current folder]

ERROR: (FCIFlushCabinet)Failure creating or writing cabinet file: permission denied
------------------------------------------------------------

●コード
 list.txt というファイルを a.cab に圧縮する
------------------------------------------------------------
string cmd = @"c:\WINDOWS\system32\makecab.exe";
string trCmd = @"C:\cabTest\work\list.txt a.cab";

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

psi.FileName = cmd;

psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.Arguments = trCmd;

System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);

string ret = p.StandardOutput.ReadToEnd();
p.WaitForExit();

------------------------------------------------------------



以下、最初の質問
-------------------------------------------------------------
あるファイルをcabファイルに圧縮(まとめる?)する方法を考えています。
(例えば、a.txt,b.txtをまとめてab.cabにする)

Zipの圧縮であれば、
ZipOutputStreamを使ってているサンプル等があるのですが、
それに相当するものがあるのでしょうか?
それとも「makecab」コマンドを投げる方法がよいでしょうか?
-------------------------------------------------------------

A 回答 (1件)

> ERROR: (FCIFlushCabinet)Failure creating or writing cabinet file: permission denied



エラーの説明をよく見れば permission denied ってなってますよね。
んで Failure creating or writing cabinet file ってなってますよね。
cab ファイルを書き込めなかった。
アクセス拒否された。
てことでしょうか。

> string trCmd = @"C:\cabTest\work\list.txt a.cab";
これって System32 フォルダーに cab ファイルを作ろうとしてません?
一度このとおりにコマンド プロンプトで実験してみればよいかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。

コマンドプロンプトでやると問題なく動きます。
cabの解凍先もカレントディレクトリ?(コマンドを打った場所)になります。

書き込めないってのは分かりましたが、原因がまだ分かりません

また、いろいろ調べてみますが、
どなたかご存知の方がいらっしゃいましたらアドバイス
よろしくお願いします。

お礼日時:2010/03/11 11:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!