我知道有很多类似的问题,但它们似乎与 AppData 有关。但是,我的路径是“C:\Program Files (x86)\Project\My Product Name\Database\Project.exe”。尝试删除此语句时收到错误消息这System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Project\My Product Name\Database\Project.exe' is denied.
是因为您必须具有管理员权限才能更改 Program Files 中的内容吗?如果是这样,我可以创建它以便将其安装到库/文档或其他东西中吗?如果需要,提供额外信息 -
我正在使用 Install Shield 和 Visual Studio 2013。
更新 - - - - - - - - - - - - - - - - - - - - - - - - - ----
我试图删除它/替换文件的方式是:
我有“主表单”和“更新程序表单”。发生的情况是,MainForm 打开 UpdaterForm 然后自行关闭。像这样...
Private Sub UpdateBtn_Click(sender As Object, e As EventArgs) Handles UpdateBtn.Click
Updater.Show()
Me.Close()
End Sub
然后在 UpdaterForm 中发生这种情况......
Private Sub UpdateBtn_Click(sender As Object, e As EventArgs) Handles UpdateBtn.Click
Main_Menu.Close()
Dim Web As New WebClient
My.Computer.FileSystem.DeleteFile(Application.StartupPath & "/Project.exe")
My.Computer.Network.DownloadFile("MYLINK", Application.StartupPath & "/Project.exe")
End Sub
但是My.Computer.FileSystem.DeleteFile(Application.StartupPath & "/Project.exe")
上面说我没有编辑文件路径的权限。我认为这只是将其移至其他地方或使其具有权限的情况。
另外,我想知道的是 UpdaterForm 是一个不同的 .exe 会更好吗?还是我可以保持不变?
如果您对 Install Shield 了解很多,我可以只使用升级路径,然后选择旧的 .msi 文件吗?但是我不确定它是如何进行更新等的。如果您对此了解更多,请解释一下吗?