This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2007年12月07日 18:25 by christian.heimes, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| Python26.vdproj | asmodai, 2008年02月29日 12:10 | hardcoded setup project file | ||
| Messages (12) | |||
|---|---|---|---|
| msg58278 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2007年12月07日 18:25 | |
The 3.0a2 installer requires the user to install the VS CRT library manually. 3.0a3 and 2.6a1 should automate the installation of vsredist somehow. |
|||
| msg58284 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2007年12月07日 23:06 | |
I tried running vcredist from within the python MSI. That aborts with error message that it can't run another installer while one is already running. |
|||
| msg63030 - (view) | Author: Jeroen Ruigrok van der Werven (asmodai) * (Python committer) | Date: 2008年02月26日 06:29 | |
As taken from http://blogs.msdn.com/astebner/ archive/2006/08/23/715755.aspx "Hi Didier - You should not try to install this vcredist package using a nested install. Performing nested installs causes problems with installing hotfixes for the child packages. You will need to use some kind of chainer to launch the vcredist setup package in silent mode, and then launch your main MSI setup afterwards." vcredist 8 information: http://blogs.msdn.com/astebner/ archive/2007/02/07/update-regarding-silent-install-of-the-vc-8-0- runtime-vcredist-packages.aspx Some hints on how to redistribute vc++ libraries: http://blogs.msdn.com/vcblog/archive/2007/10/12/how-to-redistribute-the- visual-c-libraries-with-your-application.aspx |
|||
| msg63031 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年02月26日 06:36 | |
asmodai, which details in these postings are you referring to specifically? I find none of them helpful, wrt to packaging Python. |
|||
| msg63032 - (view) | Author: Jeroen Ruigrok van der Werven (asmodai) * (Python committer) | Date: 2008年02月26日 06:49 | |
The hints that the vcredist cannot/should not be installed nested, but should be chained. The details on the full flags used/supported by the vcredist files. And the last one how to do the merge modules (and some other scenario's) way of adding the dependency. I have no idea of the level of Windows development of people, but at least this way some of the background information is logged somewhere. |
|||
| msg63053 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年02月26日 19:56 | |
> The hints that the vcredist cannot/should not be installed nested, but > should be chained. So how do I do chaining if I can only ship a single MSI file (which is my objective)? > The details on the full flags used/supported by the vcredist files. I don't think using vcredist can work at all. I would be happy to be proven wrong, but I really cannot see a solution to use it. Instead, I believe the merge module must be used. > And the last one how to do the merge modules (and some other > scenario's) way of adding the dependency. Which way specifically are you referring to? Using Visual Studio? I don't think Visual Studio is capable of producing the output that we desire (but again, I would be happy to be proven wrong). |
|||
| msg63094 - (view) | Author: Jeroen Ruigrok van der Werven (asmodai) * (Python committer) | Date: 2008年02月28日 14:36 | |
OK, I played around a bit and created a setup project (.vdproj file).
The relevant part for the merge modules is:
"MergeModule"
{
"{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_8968169979C7478FA06F2A63790836FB"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
"SourcePath" = "8:microsoft_vc90_crt_x86.msm"
"Properties"
{
}
"LanguageId" = "3:0"
"Exclude" = "11:FALSE"
"Folder" = "8:"
"Feature" = "8:"
"IsolateTo" = "8:"
}
"{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_B6A9939311C545EBB80282DDFF193627"
{
"UseDynamicProperties" = "11:TRUE"
"IsDependency" = "11:TRUE"
"SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86.msm"
"Properties"
{
}
"LanguageId" = "3:0"
"Exclude" = "11:FALSE"
"Folder" = "8:"
"Feature" = "8:"
"IsolateTo" = "8:"
}
}
One thing I read is that these setup projects (and perhaps the merge
modules) are not supported on the express editions and needs to do the
xcopy routine.
Let me know if I should attach my .vdproj, right now it is hardcoded in
some places, but it creates a .MSI with the following:
catalog.21023.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
catalog.21022.08.policy_9_0_Microsoft_VC90_CRT_x86.RTM.52105B6B_A3EF_3A90_882A_947B287C203A
manifest.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
msvcm90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
msvcp90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
msvcr90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
nosxs_msvcm90.dll.0138F525_6C8A_333F_A105_14AE030B9A54
nosxs_msvcp90.dll.0138F525_6C8A_333F_A105_14AE030B9A54
nosxs_msvcr90.dll.0138F525_6C8A_333F_A105_14AE030B9A54
policy.21022.08.policy_9_0_Microsoft_VC90_CRT_x86.RTM.52105B6B_A3EF_3A90_882A_947B287C203A
ul_catalog.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
ul_catalog.21022.08.policy_9_0_Microsoft_VC90_CRT_x86.RTM.52105B6B_A3EF_3A90_882A_947B287C203A
ul_manifest.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
ul_msvcm90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
ul_msvcp90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
ul_msvcr90.dll.21022.08.Microsoft_VC90_CRT_x86.RTM.0138F525_6C8A_333F_A105_14AE030B9A54
ul_policy.21022.08.policy_9_0_Microsoft_VC90_CRT_x86.RTM.52105B6B_A3EF_3A90_882A_947B287C203A
_15FEE25FEEA5B2FA5906FBB18964EA25
_39CC7CD67C9CC4024DB4457CAD1D8F4B
_64A91316C96BFF833C45602D2342A095
_F11BA2FBEC12D0CBA986C9D17E9781C0
So on that front I think it is a mission accomplished, now to tweak and
tune.
|
|||
| msg63107 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年02月28日 21:35 | |
> So on that front I think it is a mission accomplished, now to tweak and > tune. Please do attach the project. I can't quite understand what it is that you have achieved. Is that a project file that can create a full Python installer? |
|||
| msg63136 - (view) | Author: Jeroen Ruigrok van der Werven (asmodai) * (Python committer) | Date: 2008年02月29日 12:10 | |
Hi Martin,
yes, that's exactly what I am saying actually. :)
This is the resulting file I created: Python26.msi
Right now it only installs into C:\Python26 and puts python.exe,
pythonw.exe and python26.dll there, but it is a start.
In pcbuild.sln this entry was added:
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Python26",
"Python26\Python26.vdproj", "{B4DFC5BC-6BEA-41B7-9A40-663F2677E506}"
EndProject
The Python26.vdproj is attached.
More work needs to be done, of course, but I merely wanted a proof of
concept for a project file that could build a .msi and had the
appropriate MSM integrated.
|
|||
| msg63140 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年02月29日 17:01 | |
Ok, I never doubted VS can do merge modules (what else if not VS could do so?). What I'm still questioning that it is possible to do a full Python installer as a VS setup project. I personally don't think it's even worth the effort to try, but I might be wrong. |
|||
| msg66052 - (view) | Author: Christian Heimes (christian.heimes) * (Python committer) | Date: 2008年05月01日 21:58 | |
As far as I understood recent commits Martin has figured out how to integrate the VS CRT redist merge modules into the MSI installer. Am I correct? |
|||
| msg66053 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年05月01日 22:09 | |
Correct. This is now fixed. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:28 | admin | set | github: 45910 |
| 2012年08月27日 03:46:18 | belopolsky | unlink | issue15787 dependencies |
| 2012年08月27日 03:46:04 | belopolsky | link | issue15787 dependencies |
| 2008年05月01日 22:09:54 | loewis | set | status: pending -> closed resolution: fixed messages: + msg66053 |
| 2008年05月01日 21:58:32 | christian.heimes | set | status: open -> pending messages: + msg66052 |
| 2008年02月29日 17:01:34 | loewis | set | messages: + msg63140 |
| 2008年02月29日 12:10:47 | asmodai | set | files:
+ Python26.vdproj messages: + msg63136 |
| 2008年02月28日 21:35:28 | loewis | set | messages: + msg63107 |
| 2008年02月28日 14:36:17 | asmodai | set | messages: + msg63094 |
| 2008年02月26日 19:56:06 | loewis | set | messages: + msg63053 |
| 2008年02月26日 06:49:16 | asmodai | set | messages: + msg63032 |
| 2008年02月26日 06:36:14 | loewis | set | messages: + msg63031 |
| 2008年02月26日 06:29:19 | asmodai | set | nosy:
+ asmodai messages: + msg63030 |
| 2008年01月06日 22:29:44 | admin | set | keywords:
- py3k versions: Python 2.6, Python 3.0 |
| 2007年12月07日 23:06:44 | loewis | set | messages: + msg58284 |
| 2007年12月07日 18:25:27 | christian.heimes | create | |