アプリ版:「スタンプのみでお礼する」機能のリリースについて

環境:Windows7 / VIsual Basic 2008

教えて下さい。

データベースの値を、CSVファイルとして出力する為に、以下のような記述を
しましたが、どうしても下記のようなエラーとなってしまいます。

Cドライブの直下は記述すべきでなく、アクセス権がないのが原因かと思われますが、
なんとかCドライブの直下へ出力したいと考えています。

良い方法はないでしょうか?

《記述内容》

 '保存先のCSVファイルのパス
 Dim csvPath As String = "C:\ABC.csv"
 'CSVファイルに書き込むときに使うEncoding
 Dim enc As System.Text.Encoding = _
 System.Text.Encoding.GetEncoding("Shift_JIS")
 Try
'開く
Dim sr As New System.IO.StreamWriter(csvPath, False, enc)
 Dim colCount As Integer = dtTable.Columns.Count 
 Dim lastColIndex As Integer = colCount - 1

 以下省略・・・

《エラー内容》

 パス 'C:\ABC.csv' へのアクセスが拒否されました。

仮にアクセス権を付加するしか方法がないようであれば、申し訳ありませんが、
その方法も教えて頂ければと思います。

教えて下さい。

よろしくお願いします。

A 回答 (2件)

残念ながら、Visual Basic .net は門外漢です。


前回のリンクも別件で調べていた時に遭遇したものです。

スタートアップに「管理者として実行」したいアプリがあったので
調べた時に参考になったのは
http://www44.atwiki.jp/a2z_izm/pages/38.html
http://naotendo.blog96.fc2.com/?no=1132
です。
VBSの話ですが、あなたのプログラムのインストーラで
同じようなことを行うものを制作されれば・・・と思います。
あるいは妥協して上記リンクに沿った形にするか。

なお、これもリンクだけですが
タスク スケジューラを登録するサンプル(VB.NET)
http://homepage2.nifty.com/nonnon/SoftSample/VB. …
が貴重な情報となるかと。
私が使わせてもらっている、CCleaner もタスクスケジューラに
VBSの場合と似たようなこと?をしていますね。
私がお手伝いできるのは此処までです。
    • good
    • 0

こちらを読めば解決されるのでは?



UACが有効の時、アプリケーションを管理者に昇格させて起動する
http://dobon.net/vb/dotnet/system/asadmin.html

この回答への補足

ご回答ありがとうございます。

早速、教えて頂いたURLを参考にVisual Studio側の変更をし、動作させてみました。

《変更点》

 マニュフェストファイルの requestedExcutionLeve ノードを requireAdministrator へ変更

結果として、問題なくCドライブへ書き込む事ができましたが、起動時に以下のような
メッセージが必ず表示されてしまいます。

これの対処法はないでしょうか?

《警告メッセージ》

 次の不明な発行元からのプログラムにこのコンピュータへの変更を許可しますか?

よろしくお願いします。

補足日時:2014/02/10 11:32
    • good
    • 0

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