安装已发布的C#win forms桌面应用程序后,将文件保存到安装目录而不是桌面

时间:2015-09-07 17:04:41

标签: c# winforms installation installshield publish

在我的win form C#app中,我将我的图像导出为pdf和word。导出前,图像需要保存为位图。它是这样的:

// code
bitmap.Save("Image.jpeg", ImageFormat.Jpeg);
bitmap.Dispose();

现在word和pdf导出的代码通常从保存的位置读取此文件。然而,在我测试我的桌面应用程序时,代码"Image.jpeg"将图像保存到bin目录。

当我使用InstallShield创建安装程序并安装我的程序时,此选项可以正常工作,但它将我的图像保存到桌面。我真的不想要那个。

管理将其发送到ApplicationData目录但不想要...

string imageSaved = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Image.jpeg");
bitmap.Save(imageSaved, ImageFormat.Jpeg);
bitmap.Dispose();

如何将我的文件导航到安装目录?

1 个答案:

答案 0 :(得分:0)

只需使用Application.StartupPath

即可
  

获取启动应用程序的可执行文件的路径,   不包括可执行文件名。

     

启动应用程序的可执行文件的路径。这个   路径将根据Windows窗体是否不同而不同   使用ClickOnce部署应用程序。 ClickOnce应用程序是   存储在C:\ Documents和中的每用户应用程序缓存中   设置\用户名目录。

例如,您可以这样使用它:

string imageSaved = Path.Combine(Application.StartupPath, "Image.jpeg");
bitmap.Save(imageSaved, ImageFormat.Jpeg);

对于ClickOnce应用程序,您可以使用ApplicationDeployment.CurrentDeployment.DataDirectory,有关详细信息,请参阅Accessing Local and Remote Data in ClickOnce Applications