Windows installer Setup.exe可以';找不到.msi文件

Windows installer Setup.exe可以';找不到.msi文件,windows-installer,setup-deployment,Windows Installer,Setup Deployment,我有一个链接到一个网站上的“setup.exe”文件,我希望有人能够通过点击链接在网站外安装应用程序。但是,当我尝试测试时,会出现一个窗口,显示一条错误消息:尝试安装[Application Name]时出错。在此过程中,会为setup.exe创建一个小日志文件,文件中的最后一行显示:无法找到应用程序文件[filename].msi。我一定是做错了什么 一些补充资料: msi文件用于Windows WPF应用程序,我希望允许用户在其计算机上安装该应用程序 在编写Windows应用程序时,我注意到

我有一个链接到一个网站上的“setup.exe”文件,我希望有人能够通过点击链接在网站外安装应用程序。但是,当我尝试测试时,会出现一个窗口,显示一条错误消息:
尝试安装[Application Name]时出错。
在此过程中,会为setup.exe创建一个小日志文件,文件中的最后一行显示:
无法找到应用程序文件[filename].msi
。我一定是做错了什么

一些补充资料:

  • msi文件用于Windows WPF应用程序,我希望允许用户在其计算机上安装该应用程序
  • 在编写Windows应用程序时,我注意到安装项目的属性中有一个标记为
    安装Url
    的字段。因此,我在包含.msi文件的网站上输入了目录的url
  • 不管怎么说,我肯定我只是错过了一个设置或什么。欢迎任何意见

    谢谢


    Andrew

    我不确定,但您可以尝试删除setup.exe,并将.msi放在网站上供用户下载和运行。msi可以自己运行。

    我会将msi文件作为文件链接放在网页上,然后提示用户立即下载或安装。

    好的,这个解决方案可以:

  • 在网站中,使用Response.Redirect(“~/[setup.exe的虚拟文件路径]”)
  • 在Visual Studio中编译安装项目时,请确保安装Url(在解决方案资源管理器中右键单击安装项目并转到属性)指向包含.msi文件的网站文件夹的Url。另外,我认为这个字段要么区分大小写,要么不喜欢前后斜杠。在我改变这两件事之前,它无法找到我的.msi文件
  • 无论如何,也许其他人不会像我一样对此感到沮丧:)


    Andrew

    为什么不简单地将所有内容都包含在zip或rar中?这似乎远没有那么复杂,结果是做了完全相同的事情。另外,对于Setup.exe所做操作的注释,它会检查所需的.NET版本,如果缺少该版本(如果配置正确),将进行安装。仅仅拥有MSI是不行的

  • windows键+r
  • 键入
    cmd.exe
    ,按
    enter
  • cd\to\包含\问题\文件的\文件夹
  • dir/x
  • 请注意问题文件的短文件名。例如,它看起来像
    BLAH~1
  • delblah~1

  • @安迪-谢谢,这是个好主意。我试过了,它确实有效。我只是担心,如果网站上只有.msi文件,wpf应用程序所需的任何先决条件(在本例中是.Net framework的特定版本)都可能无法安装。您是否在Visual Studio中通过某种安装项目创建了msi?我相信您可以配置安装项目,使安装过程检查常见的依赖项,如.NET。setup.exe在这方面真的没有任何作用。好吧,我想你可能是对的。但现在我确实感到困惑,因为每次我构建安装项目时,它都会创建一个.msi文件和一个setup.exe文件,所以我只是假设setup.exe是用于检查以确保满足先决条件的…哦,对不起。我肯定是在使用Visual Studio:)关于setup.exe检查依赖项和msi不检查的问题,您可能是对的。我的印象是setup.exe只是msi的引导程序,但它可能会做额外的工作。根据我的经验,仅使用msi一直都很好,但我不确定确切的区别是什么。我可以确保下载应用程序的计算机将具有解压缩所需的工具吗?在这种情况下,这些机器将是XP、Vista和Windows 7,用户可能不知道如何轻松下载工具(如果还没有工具的话)……使用免费版本的WinRAR,您可以创建自解压存档,将所有需要的文件(在这种情况下是exe和msi)转储到用户计算机上。然后用户只需单击setup.exe并完成。如果你真的有雄心壮志,你甚至可以编写一个小脚本,这样在提取后setup.exe会自动启动。这只是为了证明整个Microshit“开发”系统是一堆废话。。。请,请回来OpenVMS!一切都被原谅了!